Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_ContainerActionTitle
()]
2
class
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence
:
SCR_ScenarioFrameworkActionBase
3
{
4
[
Attribute
(
desc
:
"Target layer that spawns Trigger to change - layer needs to spawn ScenarioFrameworkTriggerEntity or inherited variants"
)]
5
ref
SCR_ScenarioFrameworkGetLayerBase
m_Getter;
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
{
36
SCR_ScenarioFrameworkTriggerEntity
trigger;
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
66
SCR_ScenarioFrameworkLayerBase
layer
=
SCR_ScenarioFrameworkLayerBase
.Cast(entityFrom.
FindComponent
(
SCR_ScenarioFrameworkLayerBase
));
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
73
SCR_ScenarioFrameworkArea
area =
SCR_ScenarioFrameworkArea
.Cast(
layer
);
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
}
layer
LayerPresets layer
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
OnActivate
override void OnActivate()
Definition
SCR_CharacterCommandLoiter.c:31
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
SCR_ScenarioFrameworkLayerBase
void SCR_ScenarioFrameworkLayerBase(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_ScenarioFrameworkLayerBase.c:1411
category
params category
Definition
SCR_VehicleDamageManagerComponent.c:302
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
SCR_ContainerActionTitle
Definition
SCR_ContainerActionTitle.c:2
SCR_ScenarioFrameworkActionBase
Definition
SCR_ScenarioFrameworkActionBase.c:3
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence
Definition
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence.c:3
SCR_ScenarioFrameworkArea
Definition
SCR_ScenarioFrameworkArea.c:25
SCR_ScenarioFrameworkGetLayerBase
Definition
SCR_ScenarioFrameworkGetLayerBase.c:3
SCR_ScenarioFrameworkTriggerEntity
Definition
SCR_ScenarioFrameworkTriggerEntity.c:10
SCR_ScenarioFrameworkTriggerEntity::SetActivationPresence
void SetActivationPresence(SCR_EScenarioFrameworkTriggerActivation EActivationPresence)
Sets Activation Presence.
Definition
SCR_ScenarioFrameworkTriggerEntity.c:85
UIWidgets
Definition
attributes.c:40
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
LogLevel
Enum with severity of the logging message.
Definition
LogLevel.c:14
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
ScenarioFramework
Actions
SCR_ScenarioFrameworkActionChangeTriggerActivationPresence.c
Generated by
1.17.0