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_MultiExecuteListArsenalRefundEffect.c
Go to the documentation of this file.
1
2
[
BaseContainerProps
(configRoot:
true
),
BaseContainerCustomCheckIntTitleField
(
"m_bEnabled"
,
"Multi Execute Entries"
,
"(Disabled) Multi Execute Entries"
, 1)]
3
class
SCR_MultiExecuteListArsenalRefundEffect
:
SCR_BaseArsenalRefundEffect
4
{
5
[
Attribute
(
desc
:
"An array of effects. These will all be executed if the Refund effect is chosen in order of the array."
)]
6
protected
ref array<ref SCR_BaseArsenalRefundEffect>
m_aMultiExecuteEffectEntries
;
7
8
//------------------------------------------------------------------------------------------------
9
override
void
Init
(
SCR_ArsenalRefundEffectComponentClass
arsenalRefundEffectClass)
10
{
11
//~ Remove any disabled
12
for
(
int
i =
m_aMultiExecuteEffectEntries
.Count() - 1; i >= 0; i--)
13
{
14
m_aMultiExecuteEffectEntries
[i].Init(arsenalRefundEffectClass);
15
16
if
(!
m_aMultiExecuteEffectEntries
[i].m_bEnabled)
17
m_aMultiExecuteEffectEntries
.RemoveOrdered(i);
18
}
19
}
20
21
//------------------------------------------------------------------------------------------------
22
override
bool
IsValid
(notnull
IEntity
item, notnull PlayerController playerController,
SCR_ArsenalComponent
arsenal)
23
{
24
if
(!super.IsValid(item, playerController, arsenal))
25
return
false
;
26
27
//~ Check if there are any entries
28
return
!
m_aMultiExecuteEffectEntries
.IsEmpty() &&
HasValidEntries
(item, playerController, arsenal);
29
}
30
31
//------------------------------------------------------------------------------------------------
32
override
bool
ExecuteRefundEffect
(notnull
IEntity
item, notnull PlayerController playerController,
SCR_ArsenalComponent
arsenal)
33
{
34
bool
executedSuccessfullyAtLeastOnce;
35
36
//~ Get valid entries
37
array<SCR_BaseArsenalRefundEffect> validEntries = {};
38
GetValidEntries
(validEntries, item, playerController, arsenal);
39
40
//~ Execute all effects
41
foreach
(
SCR_BaseArsenalRefundEffect
entry : validEntries)
42
{
43
if
(entry.ExecuteRefundEffect(item, playerController, arsenal))
44
executedSuccessfullyAtLeastOnce =
true
;
45
}
46
47
//~ Return if successfully executed at least one effect
48
return
executedSuccessfullyAtLeastOnce;
49
}
50
51
//------------------------------------------------------------------------------------------------
52
//~ Check if there is at least one valid entry
53
protected
bool
HasValidEntries
(notnull
IEntity
item, notnull PlayerController playerController,
SCR_ArsenalComponent
arsenal)
54
{
55
//~ Check if there is at least one valid entry
56
foreach
(
SCR_BaseArsenalRefundEffect
entry :
m_aMultiExecuteEffectEntries
)
57
{
58
if
(entry.IsValid(item, playerController, arsenal))
59
return
true
;
60
}
61
62
return
false
;
63
}
64
65
//------------------------------------------------------------------------------------------------
66
//~ Get all valid entries
67
protected
int
GetValidEntries
(notnull inout array<SCR_BaseArsenalRefundEffect> validEntries, notnull
IEntity
item, notnull PlayerController playerController,
SCR_ArsenalComponent
arsenal)
68
{
69
validEntries.Clear();
70
71
//~ Get all valid entries
72
foreach
(
SCR_BaseArsenalRefundEffect
entry :
m_aMultiExecuteEffectEntries
)
73
{
74
if
(entry.IsValid(item, playerController, arsenal))
75
validEntries.Insert(entry);
76
}
77
78
return
validEntries.Count();
79
}
80
}
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
BaseContainerCustomCheckIntTitleField
SCR_ValuableIntelArsenalRefundEffect SCR_WeightedListArsenalRefundEffect BaseContainerCustomCheckIntTitleField("m_bEnabled", "Valuable Intel - Add XP", "(Disabled) Valuable Intel - Add XP", 1)
Definition
SCR_ValuableIntelArsenalRefundEffect.c:17
IEntity
Definition
IEntity.c:13
SCR_ArsenalComponent
Definition
SCR_ArsenalComponent.c:10
SCR_ArsenalRefundEffectComponentClass
Definition
SCR_ArsenalRefundEffectComponent.c:3
SCR_BaseArsenalRefundEffect
Definition
SCR_BaseArsenalRefundEffect.c:3
SCR_MultiExecuteListArsenalRefundEffect
Holds an array of effects that are all executed when this Refund effect is chosen.
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:4
SCR_MultiExecuteListArsenalRefundEffect::m_aMultiExecuteEffectEntries
ref array< ref SCR_BaseArsenalRefundEffect > m_aMultiExecuteEffectEntries
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:6
SCR_MultiExecuteListArsenalRefundEffect::ExecuteRefundEffect
override bool ExecuteRefundEffect(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:32
SCR_MultiExecuteListArsenalRefundEffect::IsValid
override bool IsValid(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:22
SCR_MultiExecuteListArsenalRefundEffect::GetValidEntries
int GetValidEntries(notnull inout array< SCR_BaseArsenalRefundEffect > validEntries, notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:67
SCR_MultiExecuteListArsenalRefundEffect::HasValidEntries
bool HasValidEntries(notnull IEntity item, notnull PlayerController playerController, SCR_ArsenalComponent arsenal)
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:53
SCR_MultiExecuteListArsenalRefundEffect::Init
override void Init(SCR_ArsenalRefundEffectComponentClass arsenalRefundEffectClass)
Definition
SCR_MultiExecuteListArsenalRefundEffect.c:9
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Inventory
ArsenalRefundEffects
SCR_MultiExecuteListArsenalRefundEffect.c
Generated by
1.17.0