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_ScenarioFrameworkActionInputOnControllableDestroyed.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_ContainerActionTitle
()]
2
class
SCR_ScenarioFrameworkActionInputOnControllableDestroyed
:
SCR_ScenarioFrameworkActionInputBase
3
{
4
[
Attribute
(
desc
:
"Checked Instigator Conditions."
)]
5
ref array<ref SCR_ScenarioFrameworkInstigatorContextConditionBase> m_aInstigatorContextConditions;
6
7
[
Attribute
(defvalue:
SCR_EScenarioFrameworkLogicOperators
.AND.ToString(),
UIWidgets
.ComboBox,
"Which Boolean Logic will be used for Damage Conditions"
,
""
, enums: SCR_EScenarioFrameworkLogicOperatorHelper.GetParamInfo(),
category
:
"Activation"
)]
8
SCR_EScenarioFrameworkLogicOperators
m_eActivationConditionLogic;
9
10
//------------------------------------------------------------------------------------------------
11
override
void
Init
(
SCR_ScenarioFrameworkLogicInput
input)
12
{
13
super.Init(input);
14
15
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(
GetGame
().
GetGameMode
());
16
if
(!gameMode)
17
return
;
18
19
ScriptInvokerBase<SCR_BaseGameMode_OnControllableDestroyed> instigator = gameMode.
GetOnControllableDestroyed
();
20
if
(instigator)
21
instigator.Insert(
OnControllableDestroyed
);
22
23
}
24
25
//------------------------------------------------------------------------------------------------
26
protected
void
OnControllableDestroyed
(
SCR_InstigatorContextData
insigatorData)
27
{
28
if
(m_aInstigatorContextConditions && !m_aInstigatorContextConditions.IsEmpty())
29
{
30
if
(
EvaluateConditions
(insigatorData))
31
m_Input
.OnActivate(1, null);
32
33
return
;
34
}
35
36
//No conditions set, activate whenever controllable is killed
37
m_Input
.OnActivate(1, null);
38
}
39
40
//------------------------------------------------------------------------------------------------
41
bool
EvaluateConditions
(
SCR_InstigatorContextData
insigatorData)
42
{
43
switch
(m_eActivationConditionLogic)
44
{
45
case
SCR_EScenarioFrameworkLogicOperators
.AND:
46
return
EvaluateConditionsAND
(insigatorData);
47
48
case
SCR_EScenarioFrameworkLogicOperators
.OR:
49
return
EvaluateConditionsOR
(insigatorData);
50
51
case
SCR_EScenarioFrameworkLogicOperators
.NOT:
52
return
EvaluateConditionsNAND
(insigatorData);
53
54
case
SCR_EScenarioFrameworkLogicOperators
.XOR:
55
return
EvaluateConditionsXOR
(insigatorData);
56
}
57
58
return
false
;
59
}
60
61
//------------------------------------------------------------------------------------------------
62
bool
EvaluateConditionsAND
(
SCR_InstigatorContextData
insigatorData)
63
{
64
foreach
(
SCR_ScenarioFrameworkInstigatorContextConditionBase
action : m_aInstigatorContextConditions)
65
{
66
if
(!action.Init(insigatorData))
67
return
false
;
68
}
69
70
return
true
;
71
}
72
73
//------------------------------------------------------------------------------------------------
74
bool
EvaluateConditionsOR
(
SCR_InstigatorContextData
insigatorData)
75
{
76
foreach
(
SCR_ScenarioFrameworkInstigatorContextConditionBase
action : m_aInstigatorContextConditions)
77
{
78
if
(action.Init(insigatorData))
79
return
true
;
80
}
81
82
return
false
;
83
}
84
85
//------------------------------------------------------------------------------------------------
86
bool
EvaluateConditionsNAND
(
SCR_InstigatorContextData
insigatorData)
87
{
88
return
!
EvaluateConditionsAND
(insigatorData);
89
}
90
91
//------------------------------------------------------------------------------------------------
92
bool
EvaluateConditionsXOR
(
SCR_InstigatorContextData
insigatorData)
93
{
94
bool
priorSuccess =
false
;
95
foreach
(
SCR_ScenarioFrameworkInstigatorContextConditionBase
action : m_aInstigatorContextConditions)
96
{
97
bool
success = action.Init(insigatorData);
98
if
(priorSuccess && success)
99
return
false
;
100
101
priorSuccess |= success;
102
}
103
return
priorSuccess;
104
}
105
106
//------------------------------------------------------------------------------------------------
107
void
~SCR_ScenarioFrameworkActionInputOnControllableDestroyed
()
108
{
109
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(
GetGame
().
GetGameMode
());
110
if
(!gameMode)
111
return
;
112
113
ScriptInvokerBase<SCR_BaseGameMode_OnControllableDestroyed> instigator = gameMode.
GetOnControllableDestroyed
();
114
if
(instigator)
115
instigator.Remove(
OnControllableDestroyed
);
116
}
117
}
Init
override void Init()
Definition
CharacterCameraHandlerComponent.c:40
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
SCR_EScenarioFrameworkLogicOperators
SCR_EScenarioFrameworkLogicOperators
Definition
SCR_EScenarioFrameworkLogicOperators.c:2
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
category
params category
Definition
SCR_VehicleDamageManagerComponent.c:302
SCR_BaseGameMode
Definition
SCR_BaseGameMode.c:139
SCR_BaseGameMode::GetOnControllableDestroyed
ScriptInvokerBase< SCR_BaseGameMode_OnControllableDestroyed > GetOnControllableDestroyed()
Definition
SCR_BaseGameMode.c:653
SCR_ContainerActionTitle
Definition
SCR_ContainerActionTitle.c:2
SCR_InstigatorContextData
Definition
SCR_InstigatorContextData.c:2
SCR_ScenarioFrameworkActionInputBase
Definition
SCR_ScenarioFrameworkActionInputBase.c:3
SCR_ScenarioFrameworkActionInputBase::m_Input
SCR_ScenarioFrameworkLogicInput m_Input
Definition
SCR_ScenarioFrameworkActionInputBase.c:4
SCR_ScenarioFrameworkActionInputOnControllableDestroyed
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:3
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::~SCR_ScenarioFrameworkActionInputOnControllableDestroyed
void ~SCR_ScenarioFrameworkActionInputOnControllableDestroyed()
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:107
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::EvaluateConditionsXOR
bool EvaluateConditionsXOR(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:92
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::EvaluateConditionsNAND
bool EvaluateConditionsNAND(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:86
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::EvaluateConditionsAND
bool EvaluateConditionsAND(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:62
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::EvaluateConditionsOR
bool EvaluateConditionsOR(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:74
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::EvaluateConditions
bool EvaluateConditions(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:41
SCR_ScenarioFrameworkActionInputOnControllableDestroyed::OnControllableDestroyed
void OnControllableDestroyed(SCR_InstigatorContextData insigatorData)
Definition
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c:26
SCR_ScenarioFrameworkInstigatorContextConditionBase
Definition
SCR_ScenarioFrameworkInstigatorContextConditionBase.c:3
SCR_ScenarioFrameworkLogicInput
Definition
SCR_ScenarioFrameworkLogic.c:3
UIWidgets
Definition
attributes.c:40
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
ScenarioFramework
Actions
ActionInputs
SCR_ScenarioFrameworkActionInputOnControllableDestroyed.c
Generated by
1.17.0