24 CharacterControllerComponent controller = CharacterControllerComponent.Cast(pUserEntity.
FindComponent(CharacterControllerComponent));
26 if (!controller.TryPlayItemGesture(
EItemGesture.EItemGesturePickUp,
this,
"Character_ActionGrab"))
32 IEntity pOwnerEntity = m_Item.GetOwner();
33 SCR_InventoryStorageManagerComponent manager = SCR_InventoryStorageManagerComponent.Cast(pUserEntity.
FindComponent(SCR_InventoryStorageManagerComponent));
36 if (!manager || !weaponStorage)
64 CharacterControllerComponent controller = CharacterControllerComponent.Cast(pUserEntity.
FindComponent(CharacterControllerComponent));
65 if (!controller || controller.IsPlayingGesture())
72 BaseWeaponManagerComponent weaponManager = BaseWeaponManagerComponent.Cast(pUserEntity.
FindComponent(BaseWeaponManagerComponent));
74 if (!weaponStorage || !weaponManager)
80 array<WeaponSlotComponent> weaponsList = {};
81 int weaponCount = weaponManager.GetWeaponsSlots(weaponsList);
82 array<int> suitableSlots = {};
84 for (
int i = 0; i < weaponCount; i++)
87 string weaponSlotType = weaponSlot.GetWeaponSlotType();
89 if (weaponSlotType.Compare(weapon.GetWeaponSlotType()) != 0 && !CharacterHandWeaponSlotComponent.Cast(weaponSlot))
93 suitableSlots.Insert(i);
96 if (suitableSlots.Count() == 0)
101 if (suitableSlots.Count() > 1)
103 for (
int j = 0, countJ = suitableSlots.Count(); j < countJ; j++)
107 if (slot.GetWeaponEntity() == null)
113 if (slot == weaponSlotCurr)
121 if (slot.GetWeaponEntity())
128 m_pEquipCB.m_bNoEquipAnims = weaponSlotCurr == slot;
130 if (!manager.TryRemoveItemFromStorage(slot.GetWeaponEntity(), weaponStorage,
m_pRemoveWeaponCB))
139 m_pEquipCB.m_bNoEquipAnims = weaponSlotCurr == null;
142 if (CharacterHandWeaponSlotComponent.Cast(slot))
144 if (manager.TryInsertItemInStorage(pOwnerEntity, weaponStorage, slot.GetWeaponSlotIndex()))
152 if (controller.TryPlayItemGesture(
EItemGesture.EItemGesturePickUp,
this,
"Character_ActionGrab"))