Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence.c
Go to the documentation of this file.
3{
4 [Attribute(desc: "Target layer that spawns Trigger to change - layer needs to spawn ScenarioFrameworkTriggerEntity or inherited variants")]
6
7 [Attribute(defvalue: SCR_EScenarioFrameworkTriggerActivation.PLAYER.ToString(), uiwidget: UIWidgets.ComboBox, desc: "By whom the trigger is activated - target trigger needs to be ScenarioFrameworkTriggerEntity or inherited variant", enums: ParamEnumArray.FromEnum(SCR_EScenarioFrameworkTriggerActivation), category: "Trigger")]
8 SCR_EScenarioFrameworkTriggerActivation m_eActivationPresence;
9
10 //------------------------------------------------------------------------------------------------
15 bool CanActivateTriggerVariant(IEntity object, out SCR_ScenarioFrameworkTriggerEntity trigger)
16 {
17 trigger = SCR_ScenarioFrameworkTriggerEntity.Cast(object);
18 if (m_iMaxNumberOfActivations != -1 && m_iNumberOfActivations >= m_iMaxNumberOfActivations)
19 {
20 if (trigger)
21 {
22 trigger.GetOnActivate().Remove(OnActivate);
23 trigger.GetOnDeactivate().Remove(OnActivate);
24 }
25
26 return false;
27 }
28
29 m_iNumberOfActivations++;
30 return true;
31 }
32
33 //------------------------------------------------------------------------------------------------
34 override void OnActivate(IEntity object)
35 {
37 if (!CanActivateTriggerVariant(object, trigger))
38 return;
39
40 if (trigger)
41 {
42 trigger.SetActivationPresence(m_eActivationPresence);
43 return;
44 }
45
46 if (!m_Getter)
47 {
48 Print(string.Format("ScenarioFramework Action: Getter not found for Action %1.", this), LogLevel.ERROR);
49 return;
50 }
51
52 SCR_ScenarioFrameworkParam<IEntity> entityWrapper = SCR_ScenarioFrameworkParam<IEntity>.Cast(m_Getter.Get());
53 if (!entityWrapper)
54 {
55 Print(string.Format("ScenarioFramework Action: Issue with Getter detected for Action %1.", this), LogLevel.ERROR);
56 return;
57 }
58
59 IEntity entityFrom = entityWrapper.GetValue();
60 if (!entityFrom)
61 {
62 Print(string.Format("ScenarioFramework Action: Entity not found for Action %1.", this), LogLevel.ERROR);
63 return;
64 }
65
67 if (!layer)
68 {
69 Print(string.Format("ScenarioFramework Action: Entity is not Layer Base for Action %1.", this), LogLevel.ERROR);
70 return;
71 }
72
74 if (area)
75 {
76 trigger = SCR_ScenarioFrameworkTriggerEntity.Cast(area.GetTrigger());
77 }
78 else
79 {
80 IEntity entity = layer.GetSpawnedEntity();
81 if (!BaseGameTriggerEntity.Cast(entity))
82 {
83 Print(string.Format("ScenarioFramework Action: SlotTrigger - The selected prefab is not trigger!"), LogLevel.ERROR);
84 return;
85 }
86 trigger = SCR_ScenarioFrameworkTriggerEntity.Cast(entity);
87 }
88
89 if (trigger)
90 trigger.SetActivationPresence(m_eActivationPresence);
91 }
92}
LayerPresets layer
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
override void OnActivate()
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
void SCR_ScenarioFrameworkLayerBase(IEntityComponentSource src, IEntity ent, IEntity parent)
proto external Managed FindComponent(typename typeName)
void SetActivationPresence(SCR_EScenarioFrameworkTriggerActivation EActivationPresence)
Sets Activation Presence.
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
Definition LogLevel.c:14
SCR_FieldOfViewSettings Attribute