7 if ( (dst && dst.GetParent() && !dst.GetParent().GetHierarchyRootPlayer()) || (src && src.GetParent() && !src.GetParent().GetHierarchyRootPlayer()) )
26 if ( invloc1.
GetItem() && invloc1.
GetItem().GetInventoryHandAnimation(invloc1,val) )
42 else if (invloc1.
GetItem() && invloc1.
GetItem().IsOneHandedBehaviour())
54 else if (invloc1.
GetItem() && invloc1.
GetItem().IsOneHandedBehaviour())
65 owner = parent_item.GetHierarchyRootPlayer();
70 EntityAI item2 = parent_item.GetHierarchyParent();
71 if (owner && item1 == item2)
105 else if (invloc1.
GetItem() && invloc1.
GetItem().IsOneHandedBehaviour())
119 if (player.IsInTransport())
124 if (src.GetItem().GetHierarchyRootPlayer() == player)
139 if (player.IsInTransport())
142 if (src.GetItem().GetHierarchyRootPlayer() == player)
157 if (player.IsInTransport())
162 if (old_src.GetItem().GetHierarchyRootPlayer() == player || new_src.GetItem().GetHierarchyRootPlayer() == player)
168 if (animType1 != -1 && animType2 != -1)
170 if (
LogManager.
IsInventoryHFSMLogEnable())
hndDebugPrint(
"[hndfsm] SelectAnimationOfForceSwapInHands guard - selected animType1=" + animType1 +
" animType2=" + animType2 +
" for old_item=" + old_src.GetItem() +
" for new_item=" + new_src.GetItem());
185class HandSelectAnimationOfTakeToHandsEvent
extends HandGuardBase
194 e.m_AnimationID = animType;
201class HandSelectAnimationOfMoveFromHandsEvent
extends HandGuardBase
216 if (eai.GetInventory().GetCurrentInventoryLocation(src))
218 if (e.m_IsJuncture ==
false && e.m_IsRemote ==
false)
224 hndDebugPrint(
"[hndfsm] HandSelectAnimationOfMoveFromHandsEvent - rejected");
234 e.m_AnimationID = animType;
255 Error(
"HandSelectAnimationOfForceSwapInHandsEvent - not an swap event");
261 HandEventForceSwap es = HandEventForceSwap.Cast(e);
269 if (!es.m_Src2.IsValid() || !es.m_Src.IsValid())
271 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - invalid item source");
275 bool allow = e.m_IsJuncture || e.m_IsRemote;
301 e.m_AnimationID = animType1;
302 es.m_Animation2ID = animType2;
308 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - m_HasRoomGuard.GuardCondition failed");
313 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - not a swap event");
328 if (ProcessSwapEvent(e, animType1, animType2))
330 e.m_AnimationID = animType1;
331 es.m_Animation2ID = animType2;
336 Error(
"[hndfsm] HandSelectAnimationOfSwapInHandsEvent - not a swap event");
bool SelectAnimationOfMoveFromHands(notnull Man player, notnull InventoryLocation src, notnull InventoryLocation dst, out int animType)
int SlotToAnimType(notnull Man player, notnull InventoryLocation src, InventoryLocation dst=null)
bool SelectAnimationOfTakeToHands(notnull Man player, notnull InventoryLocation src, notnull InventoryLocation dst, out int animType)
bool SelectAnimationOfForceSwapInHands(notnull Man player, notnull InventoryLocation old_src, notnull InventoryLocation new_src, notnull InventoryLocation old_dst, notnull InventoryLocation new_dst, out int animType1, out int animType2)
void hndDebugPrint(string s)
InventoryLocationType
types of Inventory Location
static bool CanSwapEntitiesEx(notnull EntityAI item1, notnull EntityAI item2)
static proto native bool LocationCanMoveEntity(notnull InventoryLocation src, notnull InventoryLocation dst)
queries if the entity contained in inv_loc.m_item can be moved to another location This is a shorthan...
static bool CanForceSwapEntitiesEx(notnull EntityAI item1, InventoryLocation item1_dst, notnull EntityAI item2, out InventoryLocation item2_dst)
script counterpart to engine's class Inventory
override InventoryLocation GetDst()
override string DumpToString()
Abstracted event, not to be used, only inherited.
void HandSelectAnimationOfTakeToHandsEvent(Man p=null)
void HandSelectAnimationOfForceSwapInHandsEvent(Man p=NULL)
void HandSelectAnimationOfMoveFromHandsEvent(Man p=null)
bool ProcessSwapEvent(notnull HandEventBase e, out int animType1, out int animType2)
override bool GuardCondition(HandEventBase e)
TODO(kumarjac): This guard is unused but it has a fault and doesn't conform with maximimal/minimal ch...
override bool GuardCondition(HandEventBase e)
proto native EntityAI GetParent()
returns parent of current inventory location
static string DumpToStringNullSafe(InventoryLocation loc)
proto native int GetSlot()
returns slot id if current type is Attachment
proto native InventoryLocation Copy(notnull InventoryLocation rhs)
copies location data to another location
proto native int GetType()
returns type of InventoryLocation
proto native EntityAI GetItem()
returns item of current inventory location
provides access to slot configuration
static bool IsInventoryHFSMLogEnable()
void Error(string err)
Messagebox with error message.