Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AIGetMagazineWell.c
Go to the documentation of this file.
2{
3 static const string PORT_MAGAZINE_WELL_OUT = "MagazineWellOut";
4
5 private IEntity m_ownerEntity;
6 private BaseWeaponManagerComponent m_weaponManager;
7
8 //------------------------------------------------------------------------------------------------
9 static override bool VisibleInPalette() {return true;}
10
11 //------------------------------------------------------------------------------------------------
12 override void OnInit(AIAgent owner)
13 {
14 m_ownerEntity = owner.GetControlledEntity();
15 if (!m_ownerEntity)
16 Debug.Error("Must be run on ai agent that has owner entity!");
17 }
18
19 //------------------------------------------------------------------------------------------------
20 override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
21 {
22 if (!m_weaponManager)
23 {
24 if ( !m_ownerEntity )
25 return ENodeResult.FAIL;
26 m_weaponManager = BaseWeaponManagerComponent.Cast(m_ownerEntity.FindComponent(BaseWeaponManagerComponent));
27 if (!m_weaponManager)
28 return ENodeResult.FAIL;
29 }
30 BaseWeaponComponent weapon = m_weaponManager.GetCurrent();
31 if (!weapon)
32 return ENodeResult.FAIL;
33
34 SetVariableOut(PORT_MAGAZINE_WELL_OUT, GetWeaponMainMagazineWell(weapon));
35 return ENodeResult.SUCCESS;
36 }
37
38 //------------------------------------------------------------------------------------------------
39 protected static ref TStringArray s_aVarsOut = {
40 PORT_MAGAZINE_WELL_OUT
41 };
43 {
44 return s_aVarsOut;
45 }
46
47 //------------------------------------------------------------------------------------------------
48 static override string GetOnHoverDescription()
49 {
50 return "Returns MagazineWell of current weapon on Owner's controlled entity";
51 };
52
53 //------------------------------------------------------------------------------------------------
55 {
56 ref array<BaseMuzzleComponent> outMuzzles = new array<BaseMuzzleComponent>;
57 weapon.GetMuzzlesList(outMuzzles);
58 if (!outMuzzles.IsEmpty())
59 return outMuzzles[0].GetMagazineWell().Type();
60 else
62 }
63};
Definition Debug.c:13
proto void SetVariableOut(string name, void val)
bool VisibleInPalette()
static override string GetOnHoverDescription()
override TStringArray GetVariablesOut()
static GetWeaponMainMagazineWell(BaseWeaponComponent weapon)
static ref TStringArray s_aVarsOut
ENodeResult
Definition ENodeResult.c:13
array< string > TStringArray
Definition Types.c:385