Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_EquipGadgetAction.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
4{
5 [Attribute("#AR-Inventory_NoSlot", desc: "Invalid reason no free slot")]
7
8 #ifndef DISABLE_INVENTORY
9 //------------------------------------------------------------------------------------------------
10 override bool CanBePerformedScript(IEntity user)
11 {
12 ChimeraCharacter character = ChimeraCharacter.Cast(user);
13 if (!character)
14 return false;
15
16 CharacterControllerComponent controller = character.GetCharacterController();
17 if (!controller)
18 return false;
19
20 SCR_InventoryStorageManagerComponent inventoryStorageManager = SCR_InventoryStorageManagerComponent.Cast(controller.GetInventoryStorageManager());
21 if (!inventoryStorageManager)
22 return false;
23
24 SCR_HandSlotStorageComponent storageComp = SCR_HandSlotStorageComponent.Cast(inventoryStorageManager.FindStorageForItem(GetOwner(), EStoragePurpose.PURPOSE_EQUIPMENT_ATTACHMENT));
25 if (!storageComp)
26 {
27 switch (inventoryStorageManager.GetReturnCode())
28 {
29 case EInventoryRetCode.RETCODE_ITEM_TOO_BIG:
30 {
32 break;
33 }
34
35 case EInventoryRetCode.RETCODE_ITEM_TOO_BIG:
36 {
38 break;
39 }
40
41 default:
42 {
44 }
45 }
46 return false;
47 }
48
49 return true;
50 }
51
52 //------------------------------------------------------------------------------------------------
53 override protected void PerformActionInternal(SCR_InventoryStorageManagerComponent manager, IEntity pOwnerEntity, IEntity pUserEntity)
54 {
55 if (CanBePerformedScript(pUserEntity))
56 manager.EquipGadget( pOwnerEntity );
57 }
58 #endif
59};
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
void SetCannotPerformReason(string reason)
proto external IEntity GetOwner()
Returns the parent entity of this action.
modded version for to be used with the inventory 2.0
void PerformActionInternal(SCR_InventoryStorageManagerComponent manager, IEntity pOwnerEntity, IEntity pUserEntity)
override bool CanBePerformedScript(IEntity user)
LocalizedString m_sInvalid_NoFreeSlot
modded version for to be used with the inventory 2.0
const string SREASON_TOO_HEAVY
SCR_FieldOfViewSettings Attribute
EStoragePurpose