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_AIDecoAreVehiclesBurning.c
Go to the documentation of this file.
1
class
SCR_AIDecoAreVehiclesBurning
:
DecoratorScripted
2
{
3
static
const
string
VEHICLE_PORT =
"InEntity"
;
4
static
const
string
BURNING_VEHICLE_PORT =
"BurningVehicleOut"
;
5
6
//-----------------------------------------------------------------------------------------------------
7
override
bool
TestFunction(AIAgent owner)
8
{
9
IEntity
singleVehicle;
10
SCR_DamageManagerComponent damageManager;
11
GetVariableIn
(VEHICLE_PORT, singleVehicle);
12
if
(singleVehicle)
13
{
14
BaseVehicle
vehicle =
BaseVehicle
.Cast(singleVehicle);
15
if
(!vehicle)
16
return
false
;
17
damageManager = vehicle.GetDamageManager();
18
if
(!damageManager)
19
return
false
;
20
bool
isOnFire = SCR_AIVehicleUsability.VehicleIsOnFire(singleVehicle, damageManager);
21
return
ReturnVariables
(isOnFire, singleVehicle);
22
}
23
SCR_AIGroup
group =
SCR_AIGroup
.Cast(owner);
24
if
(!group)
25
return
false
;
26
27
28
SCR_AIGroupVehicleManager
vehMgr = group.
GetGroupUtilityComponent
().
m_VehicleMgr
;
29
30
array<ref SCR_AIGroupVehicle> usableVehicles = {};
31
vehMgr.
GetAllVehicles
(usableVehicles);
32
33
foreach
(
SCR_AIGroupVehicle
groupVehicle: usableVehicles)
34
{
35
IEntity
vehicleEntity = groupVehicle.GetEntity();
36
BaseVehicle
vehicle =
BaseVehicle
.Cast(vehicleEntity);
37
if
(!vehicle)
38
continue
;
39
damageManager = vehicle.GetDamageManager();
40
if
(!damageManager)
41
continue
;
42
bool
isOnFire = SCR_AIVehicleUsability.VehicleIsOnFire(vehicleEntity, damageManager);
43
if
(isOnFire)
44
return
ReturnVariables
(isOnFire, vehicleEntity);
45
}
46
47
48
ClearVariable
(BURNING_VEHICLE_PORT);
49
return
false
;
50
}
51
52
//-----------------------------------------------------------------------------------------------------
53
protected
bool
ReturnVariables
(
bool
isVehicleBurning,
IEntity
vehicle)
54
{
55
if
(isVehicleBurning)
56
SetVariableOut
(BURNING_VEHICLE_PORT, vehicle);
57
else
58
ClearVariable
(BURNING_VEHICLE_PORT);
59
return
isVehicleBurning;
60
}
61
62
//-----------------------------------------------------------------------------------------------------
63
protected
static
override
bool
VisibleInPalette
()
64
{
65
return
true
;
66
}
67
68
//-----------------------------------------------------------------------------------------------------
69
protected
static
ref
TStringArray
s_aVarsIn
= {
70
VEHICLE_PORT
71
};
72
protected
override
TStringArray
GetVariablesIn
()
73
{
74
return
s_aVarsIn
;
75
}
76
77
//-----------------------------------------------------------------------------------------------------
78
protected
static
ref
TStringArray
s_aVarsOut
= {
79
BURNING_VEHICLE_PORT
80
};
81
protected
override
TStringArray
GetVariablesOut
()
82
{
83
return
s_aVarsOut
;
84
}
85
86
//-----------------------------------------------------------------------------------------------------
87
static
override
string
GetOnHoverDescription
()
88
{
89
return
"DecoAreVehiclesBurning: if provided with vehicle entity, returns if it is burning, otherwise checks all known vehicles of group and returns (first) burning vehicle."
;
90
}
91
}
BaseVehicle
Definition
BaseVehicle.c:13
DecoratorScripted
Definition
DecoratorScripted.c:13
IEntity
Definition
IEntity.c:13
Node::SetVariableOut
proto void SetVariableOut(string name, void val)
Node::GetVariableIn
proto bool GetVariableIn(string name, out void val)
Node::ClearVariable
proto void ClearVariable(string name)
SCR_AIDecoAreVehiclesBurning
Definition
SCR_AIDecoAreVehiclesBurning.c:2
SCR_AIDecoAreVehiclesBurning::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AIDecoAreVehiclesBurning.c:87
SCR_AIDecoAreVehiclesBurning::ReturnVariables
bool ReturnVariables(bool isVehicleBurning, IEntity vehicle)
Definition
SCR_AIDecoAreVehiclesBurning.c:53
SCR_AIDecoAreVehiclesBurning::GetVariablesIn
override TStringArray GetVariablesIn()
Definition
SCR_AIDecoAreVehiclesBurning.c:72
SCR_AIDecoAreVehiclesBurning::s_aVarsOut
static ref TStringArray s_aVarsOut
Definition
SCR_AIDecoAreVehiclesBurning.c:78
SCR_AIDecoAreVehiclesBurning::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AIDecoAreVehiclesBurning.c:63
SCR_AIDecoAreVehiclesBurning::GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_AIDecoAreVehiclesBurning.c:81
SCR_AIDecoAreVehiclesBurning::s_aVarsIn
static ref TStringArray s_aVarsIn
Definition
SCR_AIDecoAreVehiclesBurning.c:69
SCR_AIGroup
Definition
SCR_AIGroup.c:75
SCR_AIGroup::GetGroupUtilityComponent
SCR_AIGroupUtilityComponent GetGroupUtilityComponent()
Definition
SCR_AIGroup.c:208
SCR_AIGroupUtilityComponent::m_VehicleMgr
ref SCR_AIGroupVehicleManager m_VehicleMgr
Definition
SCR_AIGroupUtilityComponent.c:63
SCR_AIGroupVehicle
This class is used for keeping track of vehicles assigned to group.
Definition
SCR_AIGroupVehicle.c:3
SCR_AIGroupVehicleManager
Definition
SCR_AIGroupVehicleManager.c:2
SCR_AIGroupVehicleManager::GetAllVehicles
void GetAllVehicles(array< ref SCR_AIGroupVehicle > outAllVehicles)
Definition
SCR_AIGroupVehicleManager.c:39
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Vehicles
SCR_AIDecoAreVehiclesBurning.c
Generated by
1.17.0