54 {
55 Object targetObject = target.GetObject();
56 if (targetObject)
57 {
58 if (vector.DistanceSq(player.GetPosition(), target.GetCursorHitPos()) > UAMaxDistances.DEFAULT * UAMaxDistances.DEFAULT)
59 return false;
60
62 targetObject.GetActionComponentsForSelectionName(targetObject.GetViewGeometryLevel(), UAMisc.LIQUID_SOURCE_SELECTION, componentIndices);
63 if (componentIndices.Count() > 0 && componentIndices.Find(target.GetComponentIndex()) == -1)
64 return false;
65 }
66 else
67 {
68 CCTLiquid waterCheck =
new CCTLiquid(
m_AllowedLiquidMask, UAMaxDistances.DEFAULT, UAMaxDistances.DEFAULT);
69 if (!waterCheck.
Can(player, target))
70 return false;
71 }
72
74
75 if (item.GetQuantity() > item.GetQuantityMin())
76 liquidType = Liquid.TranslateLiquidType(liquidType);
77
78 return liquidType !=
LIQUID_NONE && Liquid.CanFillContainer(item,liquidType);
79 }
override int GetLiquidType()
override bool Can(PlayerBase player, ActionTarget target)