Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_WeaponLoadAction.c
Go to the documentation of this file.
2{
3 private IEntity m_Owner;
4 private IEntity m_LastObserver;
5
6 private BaseWeaponComponent m_Weapon;
7
8 //------------------------------------------------------------------------------------------------
9 override bool CanBeShownScript(IEntity user)
10 {
11 m_LastObserver = user;
12 return CanBePerformedScript(user);
13 }
14
15 //------------------------------------------------------------------------------------------------
17 override bool CanBePerformedScript(IEntity user)
18 {
19 return false;
20 /*
21 if(!m_Weapon)
22 return false;
23
24 IEntity parent = m_Owner.GetParent();
25 if (!parent)
26 return false;
27
28 auto genericUser = GenericEntity.Cast(user);
29
30 // Check if user is in a compartment
31 ChimeraCharacter char = ChimeraCharacter.Cast(genericUser);
32 if (char)
33 {
34 CompartmentAccessComponent comp = char.GetCompartmentAccessComponent();
35 if (comp && comp.IsInCompartment())
36 return false;
37 }
38
39 // Check for compatible magazines
40 SCR_InventoryManagerComponent inventory = SCR_InventoryManagerComponent.Cast(genericUser.FindComponent(SCR_InventoryManagerComponent));
41 if (inventory && inventory.GetMagazineCountByWeapon(m_Weapon) <= 0)
42 return false;
43
45 MortarMuzzleComponent mortarMuzzleComponent = MortarMuzzleComponent.Cast(m_Weapon.GetCurrentMuzzle());
46 if (mortarMuzzleComponent && mortarMuzzleComponent.GetAmmoCount() >= mortarMuzzleComponent.GetMaxAmmoCount())
47 return false;
48
49 return true;
50 */
51 }
52
53 //---------------------------------------------------------
55 override void PerformAction(IEntity pOwnerEntity, IEntity pUserEntity)
56 {
57 /*
58 GenericEntity genericUserEntity = GenericEntity.Cast(pUserEntity);
59 BaseInventoryManagerComponent baseInventoryManager = BaseInventoryManagerComponent.Cast(genericUserEntity.FindComponent(BaseInventoryManagerComponent));
60 SCR_InventoryManagerComponent inventoryManager = SCR_InventoryManagerComponent.Cast(baseInventoryManager);
61
62 MortarMuzzleComponent mortarMuzzleComponent = MortarMuzzleComponent.Cast(m_Weapon.GetCurrentMuzzle());
63 if (mortarMuzzleComponent && mortarMuzzleComponent.GetAmmoCount() < mortarMuzzleComponent.GetMaxAmmoCount())
64 {
65 IEntity shell = inventoryManager.OnGetMagazine(mortarMuzzleComponent.GetMagazineWell());
66 if (shell)
67 {
68 inventoryManager.Remove(shell, null, true);
69 mortarMuzzleComponent.LoadMortar(shell);
70 }
71 }
72 */
73 }
74
75 //------------------------------------------------------------------------------------------------
76 override bool GetActionNameScript(out string outName)
77 {
78 if (m_LastObserver)
79 {
80 GenericEntity watcher = GenericEntity.Cast(m_LastObserver);
81 outName = "Load";
82 return true;
83 }
84
85 return false;
86 }
87
88 //------------------------------------------------------------------------------------------------
89 override void Init(IEntity pOwnerEntity, GenericComponent pManagerComponent)
90 {
91 m_Owner = pOwnerEntity;
92 m_Weapon = BaseWeaponComponent.Cast(m_Owner.FindComponent(BaseWeaponComponent));
93 }
94
95 //------------------------------------------------------------------------------------------------
96 /*override bool HasLocalEffectOnlyScript()
97 {
98 return true;
99 }*/
100};
override void Init()
@ PerformAction