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_AICharacterSetMovementSpeed.c
Go to the documentation of this file.
1
3
class
SCR_AICharacterSetMovementSpeed
:
AITaskScripted
4
{
5
// Inputs
6
protected
static
const
string
SPEED_PORT
=
"Speed"
;
7
8
protected
AICharacterMovementComponent
m_MovementComponent
;
9
protected
SCR_AICharacterSettingsComponent
m_SettingsComp
;
10
11
[
Attribute
(
EMovementType
.IDLE.ToString(),
UIWidgets
.ComboBox,
"Desired character movement speed"
,
""
, ParamEnumArray.FromEnum(
EMovementType
))]
12
protected
EMovementType
m_eSpeed
;
13
14
//------------------------------------------------------------------------------------------------
15
override
void
OnInit
(AIAgent owner)
16
{
17
super.OnInit(owner);
18
19
m_SettingsComp
= SCR_AICharacterSettingsComponent.Cast(owner.FindComponent(SCR_AICharacterSettingsComponent));
20
21
IEntity
myEntity = owner.GetControlledEntity();
22
if
(myEntity)
23
{
24
m_MovementComponent
= AICharacterMovementComponent.Cast(owner.GetControlledEntity().FindComponent(AICharacterMovementComponent));
25
if
(!
m_MovementComponent
)
26
NodeError
(
this
, owner,
"Can't find AICharacterMovementComponent."
);
27
}
28
}
29
30
//------------------------------------------------------------------------------------------------
31
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
32
{
33
if
(!
m_MovementComponent
)
34
return
ENodeResult
.FAIL;
35
36
EMovementType
speed;
37
38
if
(!
GetVariableIn
(
SPEED_PORT
, speed))
39
speed =
m_eSpeed
;
40
41
// Check if speed is restricted by settings
42
SCR_AICharacterMovementSpeedSettingBase
setting = null;
43
if
(
m_SettingsComp
)
44
setting =
SCR_AICharacterMovementSpeedSettingBase
.Cast(
m_SettingsComp
.GetCurrentSetting(
SCR_AICharacterMovementSpeedSettingBase
));
45
46
if
(setting)
47
speed = setting.GetSpeed(speed);
48
49
m_MovementComponent
.SetMovementTypeWanted(speed);
50
51
return
ENodeResult
.SUCCESS;
52
}
53
54
//------------------------------------------------------------------------------------------------
55
static
override
bool
VisibleInPalette
() {
return
true
;}
56
57
//------------------------------------------------------------------------------------------------
58
protected
static
ref
TStringArray
s_aVarsIn
= {
59
SPEED_PORT
60
};
61
override
array<string>
GetVariablesIn
()
62
{
63
return
s_aVarsIn
;
64
}
65
66
//------------------------------------------------------------------------------------------------
67
override
string
GetNodeMiddleText
()
68
{
69
string
s;
70
s = s +
string
.Format(
"Speed: %1\n"
,
typename
.EnumToString(
EMovementType
,
m_eSpeed
));
71
return
s;
72
}
73
74
//------------------------------------------------------------------------------------------------
75
override
static
string
GetOnHoverDescription
()
76
{
77
return
"Sets movement speed of character. Also checks restrictions from settings."
;
78
}
79
};
NodeError
ENodeResult NodeError(Node node, AIAgent owner, string msg)
Error call to be used in scripted BT nodes.
Definition
NodeError.c:3
AITaskScripted
Definition
AITaskScripted.c:13
IEntity
Definition
IEntity.c:13
Node::GetVariableIn
proto bool GetVariableIn(string name, out void val)
SCR_AICharacterMovementSpeedSettingBase
Definition
SCR_AICharacterMovementSpeedSetting.c:5
SCR_AICharacterSetMovementSpeed
Definition
SCR_AICharacterSetMovementSpeed.c:4
SCR_AICharacterSetMovementSpeed::GetNodeMiddleText
override string GetNodeMiddleText()
Definition
SCR_AICharacterSetMovementSpeed.c:67
SCR_AICharacterSetMovementSpeed::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AICharacterSetMovementSpeed.c:75
SCR_AICharacterSetMovementSpeed::m_eSpeed
EMovementType m_eSpeed
Definition
SCR_AICharacterSetMovementSpeed.c:12
SCR_AICharacterSetMovementSpeed::m_MovementComponent
AICharacterMovementComponent m_MovementComponent
Definition
SCR_AICharacterSetMovementSpeed.c:8
SCR_AICharacterSetMovementSpeed::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AICharacterSetMovementSpeed.c:15
SCR_AICharacterSetMovementSpeed::s_aVarsIn
static ref TStringArray s_aVarsIn
Definition
SCR_AICharacterSetMovementSpeed.c:58
SCR_AICharacterSetMovementSpeed::SPEED_PORT
static const string SPEED_PORT
Definition
SCR_AICharacterSetMovementSpeed.c:6
SCR_AICharacterSetMovementSpeed::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AICharacterSetMovementSpeed.c:31
SCR_AICharacterSetMovementSpeed::m_SettingsComp
SCR_AICharacterSettingsComponent m_SettingsComp
Definition
SCR_AICharacterSetMovementSpeed.c:9
SCR_AICharacterSetMovementSpeed::GetVariablesIn
override array< string > GetVariablesIn()
Definition
SCR_AICharacterSetMovementSpeed.c:61
SCR_AICharacterSetMovementSpeed::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AICharacterSetMovementSpeed.c:55
UIWidgets
Definition
attributes.c:40
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
EMovementType
EMovementType
Definition
EMovementType.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Soldier
SCR_AICharacterSetMovementSpeed.c
Generated by
1.17.0