Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AICharacterStanceSetting.c
Go to the documentation of this file.
1
3[BaseContainerProps(visible: false)]
4class SCR_AICharacterStanceSettingBase : SCR_AICharacterSettingWithCause
5{
6 //---------------------------------------------------------------------------------------------------
7 override typename GetCategorizationType()
8 {
10 }
11
12 //---------------------------------------------------------------------------------------------------
17}
18
21class SCR_AICharacterStanceSetting_Range : SCR_AICharacterStanceSettingBase
22{
23 [Attribute(typename.EnumToString(ECharacterStance, ECharacterStance.PRONE), UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(ECharacterStance), desc: "Minimum allowed stance")]
24 protected ECharacterStance m_eMinStance;
25
26 [Attribute(typename.EnumToString(ECharacterStance, ECharacterStance.STAND), UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(ECharacterStance), desc: "Maximum allowed stance")]
27 protected ECharacterStance m_eMaxStance;
28
29 //---------------------------------------------------------------------------------------------------
30 static SCR_AICharacterStanceSetting_Range Create(SCR_EAISettingOrigin origin, SCR_EAIBehaviorCause cause, ECharacterStance minStance, ECharacterStance maxStance)
31 {
32 auto s = new SCR_AICharacterStanceSetting_Range();
33 s.Init(origin, cause);
34 s.m_eMinStance = minStance;
35 s.m_eMaxStance = maxStance;
36 s.VerifyStanceValues();
37 return s;
38 }
39
40 //---------------------------------------------------------------------------------------------------
41 override ECharacterStance GetStance(ECharacterStance desiredStance)
42 {
43 return Math.ClampInt(desiredStance, m_eMinStance, m_eMaxStance);
44 }
45
46 //---------------------------------------------------------------------------------------------------
47 protected void VerifyStanceValues()
48 {
49 // Values in ECharacterStance are not arithmetically ordered from lowest stance to highest,
50 // so we should potentially swap them, to produce a min-max range
51 if (m_eMinStance > m_eMaxStance)
52 {
53 int temp = m_eMaxStance;
54 m_eMaxStance = m_eMinStance;
55 m_eMinStance = temp;
56 }
57 }
58
59 //---------------------------------------------------------------------------------------------------
60 override string GetDebugText()
61 {
62 return string.Format("Min/Max: %1/%2",
63 typename.EnumToString(ECharacterStance, Math.Max(m_eMinStance, m_eMaxStance)),
64 typename.EnumToString(ECharacterStance, Math.Min(m_eMinStance, m_eMaxStance)));
65 }
66}
67
70class SCR_AICharacterStanceSetting : SCR_AICharacterStanceSettingBase
71{
72 [Attribute(typename.EnumToString(ECharacterStance, ECharacterStance.PRONE), UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(ECharacterStance))]
74
75 //---------------------------------------------------------------------------------------------------
76 static SCR_AICharacterStanceSetting Create(SCR_EAISettingOrigin origin, SCR_EAIBehaviorCause cause, ECharacterStance stance)
77 {
78 auto s = new SCR_AICharacterStanceSetting();
79 s.Init(origin, cause);
80 s.m_eStance = stance;
81 return s;
82 }
83
84 //---------------------------------------------------------------------------------------------------
85 override ECharacterStance GetStance(ECharacterStance desiredStance)
86 {
87 return m_eStance;
88 }
89
90 //---------------------------------------------------------------------------------------------------
91 override string GetDebugText()
92 {
93 return string.Format("%1", typename.EnumToString(ECharacterStance, m_eStance));
94 }
95}
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
SCR_EAIBehaviorCause
override GetCategorizationType()
SCR_AICombatMoveRequest_ChangeStanceInCover m_eStance
SCR_EAISettingOrigin
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
ECharacterStance
proto external ECharacterStance GetStance()
Returns the current stance of the character.
SCR_FieldOfViewSettings Attribute