Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ScenarioFrameworkParentCondition.c
Go to the documentation of this file.
3{
4 [Attribute(desc: "Entity to check")]
5 ref SCR_ScenarioFrameworkGet m_EntityGetter;
6
7 [Attribute(desc: "Parent getter. Array of getters can be provided as well")]
8 ref SCR_ScenarioFrameworkGet m_ParentGetter;
9
10 [Attribute(desc: "Check Main Parent")]
11 bool m_bCheckMainParent;
12
14 //------------------------------------------------------------------------------------------------
15 override bool Init(IEntity entity)
16 {
17 if (m_EntityGetter)
18 {
19 SCR_ScenarioFrameworkParam<IEntity> entityWrapper = SCR_ScenarioFrameworkParam<IEntity>.Cast(m_EntityGetter.Get());
20 if (!entityWrapper)
21 return false;
22
23 m_ChildEntity = entityWrapper.GetValue();
24 }
25 else
26 {
27 m_ChildEntity = entity;
28 }
29
30 if (!m_ChildEntity || !m_ParentGetter)
31 return false;
32
33 //single parent check
34 SCR_ScenarioFrameworkParam<IEntity> entityWrapper = SCR_ScenarioFrameworkParam<IEntity>.Cast(m_ParentGetter.Get());
35 if (entityWrapper)
36 {
37 IEntity parent = entityWrapper.GetValue();
38 if (parent)
39 return IsParent(parent);
40 }
41
42 //If array of accepted parents was provided
43 SCR_ScenarioFrameworkParam<array<IEntity>> entityArrayWrapper = SCR_ScenarioFrameworkParam<array<IEntity>>.Cast(m_ParentGetter.Get());
44 if (entityArrayWrapper)
45 {
46 array<IEntity> parentEntities = entityArrayWrapper.GetValue();
47 foreach (IEntity parent : parentEntities)
48 {
49 if (IsParent(parent))
50 return true;
51 }
52 }
53
54 return false;
55 }
56
57 //------------------------------------------------------------------------------------------------
58 protected bool IsParent(notnull IEntity parentEnt)
59 {
60 if (m_bCheckMainParent)
61 return SCR_EntityHelper.GetMainParent(m_ChildEntity) == parentEnt;
62
63 return m_ChildEntity.GetParent() == parentEnt;
64 }
65}
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
static IEntity GetMainParent(IEntity entity, bool self=false)
SCR_FieldOfViewSettings Attribute