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_ScenarioFrameworkStanceCondition.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_ScenarioFrameworkStanceCondition
:
SCR_ScenarioFrameworkActivationConditionBase
3
{
4
[
Attribute
(
desc
:
"Entity to check."
)]
5
ref
SCR_ScenarioFrameworkGet
m_Getter;
6
7
[
Attribute
(uiwidget:
UIWidgets
.SearchComboBox, enumType:
ECharacterStance
,
desc
:
"Entity(s) must have at least one of the required stances. For entity(s) that are not chracters, the condition will return true"
)]
8
protected
ref array<ECharacterStance>
m_eRequiredStances
;
9
10
//----------------------------------------------------------------K--------------------------------
11
override
bool
Init
(
IEntity
entity)
12
{
13
// Here you can debug specific Condition instance.
14
// This can be also adjusted during runtime via Debug Menu > ScenarioFramework > Condition Inspector
15
if
(m_bDebug)
16
Print
(
"[SCR_ScenarioFrameworkStanceCondition.Init] debug line ("
+ __FILE__ +
" L"
+ __LINE__ +
")"
,
LogLevel
.WARNING);
17
18
if
(!m_Getter)
19
return
false
;
20
21
SCR_ScenarioFrameworkParam<IEntity> entityWrapper = SCR_ScenarioFrameworkParam<IEntity>.Cast(m_Getter.Get());
22
if
(!entityWrapper)
23
{
24
SCR_ScenarioFrameworkParam<array<IEntity>> entityArrayWrapper = SCR_ScenarioFrameworkParam<array<IEntity>>.Cast(m_Getter.Get());
25
if
(!entityArrayWrapper)
26
{
27
PrintFormat
(
"ScenarioFramework Condition: Issue with Getter detected for condition %1."
,
this
, level:
LogLevel
.ERROR);
28
return
false
;
29
}
30
31
array<IEntity> entities = entityArrayWrapper.GetValue();
32
33
if
(entities.IsEmpty())
34
{
35
PrintFormat
(
"ScenarioFramework Condition: Array Getter for %1 has no elements to work with."
,
this
, level:
LogLevel
.ERROR);
36
return
false
;
37
}
38
39
foreach
(
IEntity
ent : entities)
40
{
41
if
(!
EvaluateEntityStance
(ent))
42
return
false
;
43
}
44
45
return
true
;
46
}
47
48
IEntity
WrappedEntity = entityWrapper.GetValue();
49
if
(!WrappedEntity)
50
{
51
PrintFormat
(
"ScenarioFramework Condition: Entity not found for condition %1."
,
this
, level:
LogLevel
.ERROR);
52
return
false
;
53
}
54
55
return
EvaluateEntityStance
(WrappedEntity);
56
}
57
58
//------------------------------------------------------------------------------------------------
62
protected
bool
EvaluateEntityStance
(notnull
IEntity
entitiy)
63
{
64
SCR_CharacterControllerComponent
controllerComponent =
SCR_CharacterControllerComponent
.Cast(entitiy.FindComponent(
SCR_CharacterControllerComponent
));
65
if
(!controllerComponent)
66
return
true
;
67
68
ECharacterStance
currentStance = controllerComponent.GetStance();
69
return
m_eRequiredStances
.Contains(currentStance);
70
}
71
}
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
IEntity
Definition
IEntity.c:13
SCR_CharacterControllerComponent
Definition
SCR_CharacterControllerComponent.c:36
SCR_ScenarioFrameworkActivationConditionBase
Definition
SCR_ScenarioFrameworkActivationConditionBase.c:3
SCR_ScenarioFrameworkGet
Definition
SCR_ScenarioFrameworkGet.c:3
SCR_ScenarioFrameworkStanceCondition
Definition
SCR_ScenarioFrameworkStanceCondition.c:3
SCR_ScenarioFrameworkStanceCondition::EvaluateEntityStance
bool EvaluateEntityStance(notnull IEntity entitiy)
Definition
SCR_ScenarioFrameworkStanceCondition.c:62
SCR_ScenarioFrameworkStanceCondition::m_eRequiredStances
ref array< ECharacterStance > m_eRequiredStances
Definition
SCR_ScenarioFrameworkStanceCondition.c:8
SCR_ScenarioFrameworkStanceCondition::Init
override bool Init(IEntity entity)
Definition
SCR_ScenarioFrameworkStanceCondition.c:11
UIWidgets
Definition
attributes.c:40
ECharacterStance
ECharacterStance
Definition
ECharacterStance.c:13
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
LogLevel
Enum with severity of the logging message.
Definition
LogLevel.c:14
PrintFormat
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
ScenarioFramework
Conditions
SCR_ScenarioFrameworkStanceCondition.c
Generated by
1.17.0