DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ActionCondition()

override bool ActionFillBottleBase::ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprotected

См. определение в файле ActionFillBottleBase.c строка 53

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
61 TIntArray componentIndices = new TIntArray();
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
73 int liquidType = GetLiquidType(player, target, item);
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()
Определения ItemBase.c:3883
int m_AllowedLiquidMask
Определения ActionFillBottleBase.c:32
override bool Can(PlayerBase player, ActionTarget target)
Определения CCTLiquid.c:66
class LOD Object
array< int > TIntArray
Определения EnScript.c:733
const int LIQUID_NONE
Определения 3_Game/DayZ/constants.c:566

Перекрестные ссылки ActionTarget(), CCTLiquid::Can(), UAMaxDistances::DEFAULT, vector::DistanceSq(), GetLiquidType(), LIQUID_NONE, UAMisc::LIQUID_SOURCE_SELECTION и m_AllowedLiquidMask.