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_AIToggleMaxLOD.c
Go to the documentation of this file.
1
class
SCR_AIToggleMaxLOD
:
AITaskScripted
2
{
3
static
const
string
PORT_AGENT =
"AgentIn"
;
4
5
[
Attribute
(
"1"
,
UIWidgets
.CheckBox,
desc
:
"Enable MaxLOD prevention?"
)]
6
protected
bool
m_bPreventMaxLOD
;
7
8
[
Attribute
(
"0"
,
UIWidgets
.CheckBox,
desc
:
"Execute in OnAbort?"
)]
9
protected
bool
m_bPerformOnAbort
;
10
11
protected
bool
m_bAbortFinished
;
12
13
//----------------------------------------------------------------------------------------------------------------------------------------------
14
override
void
OnInit
(AIAgent owner)
15
{
16
m_bAbortFinished
=
false
;
17
}
18
19
//----------------------------------------------------------------------------------------------------------------------------------------------
20
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
21
{
22
if
(!
m_bPerformOnAbort
)
23
return
ToggleMaxLOD
(owner);
24
return
ENodeResult
.RUNNING;
25
}
26
27
//----------------------------------------------------------------------------------------------------------------------------------------------
28
protected
ENodeResult
ToggleMaxLOD
(AIAgent owner)
29
{
30
AIAgent agent;
31
if
(!
GetVariableIn
(PORT_AGENT, agent))
32
return
NodeError
(
this
, owner,
"No agent provided!"
);
33
if
(!agent)
34
return
ENodeResult
.SUCCESS;
35
36
if
(
m_bPreventMaxLOD
)
37
agent.PreventMaxLOD();
38
else
39
agent.AllowMaxLOD();
40
return
ENodeResult
.SUCCESS;
41
}
42
43
//----------------------------------------------------------------------------------------------------------------------------------------------
44
override
void
OnAbort
(AIAgent owner,
Node
nodeCausingAbort)
45
{
46
if
(
m_bPerformOnAbort
&& !
m_bAbortFinished
)
47
{
48
ToggleMaxLOD
(owner);
49
m_bAbortFinished
=
true
;
50
}
51
}
52
53
//----------------------------------------------------------------------------------------------------------------------------------------------
54
protected
static
ref
TStringArray
s_aVarsIn
= {
55
PORT_AGENT
56
};
57
58
//----------------------------------------------------------------------------------------------------------------------------------------------
59
override
TStringArray
GetVariablesIn
()
60
{
61
return
s_aVarsIn
;
62
};
63
64
//----------------------------------------------------------------------------------------------------------------------------------------------
65
static
override
bool
CanReturnRunning
()
66
{
67
return
true
;
68
};
69
70
//----------------------------------------------------------------------------------------------------------------------------------------------
71
static
override
bool
VisibleInPalette
()
72
{
73
return
true
;
74
};
75
76
//----------------------------------------------------------------------------------------------------------------------------------------------
77
override
string
GetNodeMiddleText
()
78
{
79
string
value;
80
if
(
m_bPreventMaxLOD
)
81
value =
"PREVENTED"
;
82
else
83
value =
"ALLOWED"
;
84
return
"MaxLOD is "
+ value;
85
}
86
87
//----------------------------------------------------------------------------------------------------------------------------------------------
88
static
override
string
GetOnHoverDescription
()
89
{
90
return
"PreventMaxLOD: prevents AIAgent to change to MAX lod - that disactivates AI. Use attribute to enable/disable the prevention."
;
91
};
92
};
NodeError
ENodeResult NodeError(Node node, AIAgent owner, string msg)
Error call to be used in scripted BT nodes.
Definition
NodeError.c:3
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
AITaskScripted
Definition
AITaskScripted.c:13
Node
Definition
Node.c:13
Node::GetVariableIn
proto bool GetVariableIn(string name, out void val)
SCR_AIToggleMaxLOD
Definition
SCR_AIToggleMaxLOD.c:2
SCR_AIToggleMaxLOD::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AIToggleMaxLOD.c:20
SCR_AIToggleMaxLOD::m_bAbortFinished
bool m_bAbortFinished
Definition
SCR_AIToggleMaxLOD.c:11
SCR_AIToggleMaxLOD::m_bPreventMaxLOD
bool m_bPreventMaxLOD
Definition
SCR_AIToggleMaxLOD.c:6
SCR_AIToggleMaxLOD::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AIToggleMaxLOD.c:14
SCR_AIToggleMaxLOD::GetNodeMiddleText
override string GetNodeMiddleText()
Definition
SCR_AIToggleMaxLOD.c:77
SCR_AIToggleMaxLOD::CanReturnRunning
static override bool CanReturnRunning()
Definition
SCR_AIToggleMaxLOD.c:65
SCR_AIToggleMaxLOD::ToggleMaxLOD
ENodeResult ToggleMaxLOD(AIAgent owner)
Definition
SCR_AIToggleMaxLOD.c:28
SCR_AIToggleMaxLOD::s_aVarsIn
static ref TStringArray s_aVarsIn
Definition
SCR_AIToggleMaxLOD.c:54
SCR_AIToggleMaxLOD::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AIToggleMaxLOD.c:88
SCR_AIToggleMaxLOD::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AIToggleMaxLOD.c:71
SCR_AIToggleMaxLOD::OnAbort
override void OnAbort(AIAgent owner, Node nodeCausingAbort)
Definition
SCR_AIToggleMaxLOD.c:44
SCR_AIToggleMaxLOD::m_bPerformOnAbort
bool m_bPerformOnAbort
Definition
SCR_AIToggleMaxLOD.c:9
SCR_AIToggleMaxLOD::GetVariablesIn
override TStringArray GetVariablesIn()
Definition
SCR_AIToggleMaxLOD.c:59
UIWidgets
Definition
attributes.c:40
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Soldier
SCR_AIToggleMaxLOD.c
Generated by
1.17.0