Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AIOrder.c
Go to the documentation of this file.
13
14class SCR_AIOrderBase : AIOrder // MESSAGE_CLASS()
15{
16 [Attribute("0", UIWidgets.ComboBox, "Type of event generating the order", "", ParamEnumArray.FromEnum(EOrderType_Character) )]
17 EOrderType_Character m_eUIType;
18
19 EOrderType_Character m_eOrderType;
20 void GetOrderParameters(SCR_AIProcessOrder node);
21 void SetOrderParameters(SCR_AISendOrder node)
22 {
23 string orderDebugText;
24 if (!node.GetVariableIn(node.ORDER_DEBUG_TEXT, orderDebugText))
25 orderDebugText = node.m_string;
26 SetText(orderDebugText);
27 SetReceiver(node.m_Receiver);
28 }
29
30 #ifdef AI_DEBUG
31 // The Behavior Tree which has sent this message
32 string m_sSentFromBt;
33 #endif
34};
35
36class SCR_AIOrder_Stance : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_Stance)
37{
38 ECharacterStance m_eStance; // VARIABLE(NodePort, Stance, NodePropertyEnum, m_eStance)
39
40 void SCR_AIOrder_Stance()
41 {
42 m_eOrderType = EOrderType_Character.STANCE;
43 }
44
45 static SCR_AIOrder_Stance Create(ECharacterStance stance)
46 {
47 SCR_AIOrder_Stance m = new SCR_AIOrder_Stance();
48 m.m_eStance = stance;
49 return m;
50 }
51
52 override void GetOrderParameters(SCR_AIProcessOrder node)
53 {
54 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.STANCE);
55 node.SetVariableOut(node.SCRIPTED_ORDER, true);
56 node.SetVariableOut(node.ORDER_VALUE, m_eStance);
57 if (node.m_bDebugMe)
58 node.m_sDebugString = "Stance "+ typename.EnumToString(ECharacterStance, m_eStance) + " by " + node.m_Order.GetText();
59 }
60
61 override void SetOrderParameters(SCR_AISendOrder node)
62 {
63 super.SetOrderParameters(node);
64 if(!node.GetVariableIn(node.ORDER_VALUE, m_eStance))
65 m_eStance = node.m_integer;
66 }
67};
68
69class SCR_AIOrder_WeaponRaised : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_WeaponRaised)
70{
71 bool m_bWeaponRaised; // VARIABLE(NodePort, WeaponRaised, NodeProperty, m_bWeaponRaised)
72
73 void SCR_AIOrder_WeaponRaised()
74 {
75 m_eOrderType = EOrderType_Character.WEAPON_RAISED;
76 }
77
78 override void GetOrderParameters(SCR_AIProcessOrder node)
79 {
80 int iWeaponRaised = m_bWeaponRaised;
81 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.WEAPON_RAISED);
82 node.SetVariableOut(node.SCRIPTED_ORDER, true);
83 node.SetVariableOut(node.ORDER_VALUE, iWeaponRaised);
84 if (node.m_bDebugMe)
85 node.m_sDebugString = "Weapon raised "+ m_bWeaponRaised.ToString() + " by " + node.m_Order.GetText();
86 }
87
88 override void SetOrderParameters(SCR_AISendOrder node)
89 {
90 super.SetOrderParameters(node);
91 if(!node.GetVariableIn(node.ORDER_VALUE, m_bWeaponRaised))
92 m_bWeaponRaised = node.m_integer;
93 }
94};
95
96class SCR_AIOrder_MovementType : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_MovementType)
97{
98 EMovementType m_eMovementType; // VARIABLE(NodePort, MovementType, NodePropertyEnum, m_eMovementType)
99
100 void SCR_AIOrder_MovementType()
101 {
102 m_eOrderType = EOrderType_Character.MOVEMENT_TYPE;
103 }
104
105 override void GetOrderParameters(SCR_AIProcessOrder node)
106 {
107 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.MOVEMENT_TYPE);
108 node.SetVariableOut(node.SCRIPTED_ORDER, true);
109 node.SetVariableOut(node.ORDER_VALUE, m_eMovementType);
110 if (node.m_bDebugMe)
111 node.m_sDebugString = "MovementType "+ typename.EnumToString(EMovementType, m_eMovementType) + " by " + node.m_Order.GetText();
112 }
113
114 override void SetOrderParameters(SCR_AISendOrder node)
115 {
116 super.SetOrderParameters(node);
117 if(!node.GetVariableIn(node.ORDER_VALUE, m_eMovementType))
118 m_eMovementType = node.m_integer;
119 }
120};
121
122class SCR_AIOrder_ReturnToDefault : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_ReturnToDefault)
123{
124 void SCR_AIOrder_ReturnToDefault()
125 {
126 m_eOrderType = EOrderType_Character.BACK_TO_DEFAULT;
127 }
128
129 override void GetOrderParameters(SCR_AIProcessOrder node)
130 {
131 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.BACK_TO_DEFAULT);
132 node.SetVariableOut(node.SCRIPTED_ORDER, true);
133 if (node.m_bDebugMe)
134 node.m_sDebugString = "Default set ";
135 }
136};
137
138class SCR_AIOrder_WeaponType : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_WeaponType)
139{
140 EWeaponType m_eWeaponType; // VARIABLE(NodePort, WeaponType, NodePropertyEnum, m_eWeaponType)
141
142 void SCR_AIOrder_WeaponType()
143 {
144 m_eOrderType = EOrderType_Character.WEAPON_TYPE;
145 }
146
147 override void GetOrderParameters(SCR_AIProcessOrder node)
148 {
149 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.WEAPON_TYPE);
150 node.SetVariableOut(node.SCRIPTED_ORDER, true);
151 node.SetVariableOut(node.ORDER_VALUE, m_eWeaponType);
152 if (node.m_bDebugMe)
153 node.m_sDebugString = "Weapon type "+ typename.EnumToString(EWeaponType, m_eWeaponType) + " by " + node.m_Order.GetText();
154 }
155
156 override void SetOrderParameters(SCR_AISendOrder node)
157 {
158 super.SetOrderParameters(node);
159 if(!node.GetVariableIn(node.ORDER_VALUE, m_eWeaponType))
160 m_eWeaponType = node.m_integer;
161 }
162};
163
164class SCR_AIOrder_AIState : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_AIState)
165{
166 EUnitAIState m_eAIState; // VARIABLE(NodePort, AIState, NodePropertyEnum, m_eAIState)
167
168 void SCR_AIOrder_AIState()
169 {
170 m_eOrderType = EOrderType_Character.AI_STATE;
171 }
172
173 override void GetOrderParameters(SCR_AIProcessOrder node)
174 {
175 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.AI_STATE);
176 node.SetVariableOut(node.SCRIPTED_ORDER, true);
177 node.SetVariableOut(node.ORDER_VALUE, m_eAIState);
178 if (node.m_bDebugMe)
179 node.m_sDebugString = "AI State "+ typename.EnumToString(EUnitAIState, m_eAIState) + " by " + node.m_Order.GetText();
180 }
181
182 override void SetOrderParameters(SCR_AISendOrder node)
183 {
184 super.SetOrderParameters(node);
185 if(!node.GetVariableIn(node.ORDER_VALUE, m_eAIState))
186 m_eAIState = node.m_integer;
187 }
188};
189
190class SCR_AIOrder_Unit_State : SCR_AIOrderBase // MESSAGE_CLASS(GenerateSendOrder, SCR_AISendOrder_UnitState)
191{
192 EUnitState m_eUnitState; // VARIABLE(NodePort, UnitState, NodePropertyEnum, m_eUnitState)
193
194 void SCR_AIOrder_State()
195 {
196 m_eOrderType = EOrderType_Character.UNIT_STATE;
197 }
198
199 override void GetOrderParameters(SCR_AIProcessOrder node)
200 {
201 node.SetVariableOut(node.ORDER_TYPE, EOrderType_Character.UNIT_STATE);
202 node.SetVariableOut(node.SCRIPTED_ORDER, true);
203 node.SetVariableOut(node.ORDER_VALUE, m_eUnitState);
204 if (node.m_bDebugMe)
205 node.m_sDebugString = "State change "+ typename.EnumToString(EUnitState, m_eUnitState) + " by " + node.m_Order.GetText();
206 }
207
208 override void SetOrderParameters(SCR_AISendOrder node)
209 {
210 super.SetOrderParameters(node);
211 if(!node.GetVariableIn(node.ORDER_VALUE, m_eUnitState))
212 m_eUnitState = node.m_integer;
213 }
214};
EOrderType_Character
Definition SCR_AIOrder.c:2
@ STANCE
Definition SCR_AIOrder.c:4
@ AI_STATE
Definition SCR_AIOrder.c:9
@ BACK_TO_DEFAULT
Definition SCR_AIOrder.c:7
@ MOVEMENT_TYPE
Definition SCR_AIOrder.c:6
@ WEAPON_TYPE
Definition SCR_AIOrder.c:8
@ UNIT_STATE
Definition SCR_AIOrder.c:10
@ COMBAT_TYPE
Definition SCR_AIOrder.c:11
@ WEAPON_RAISED
Definition SCR_AIOrder.c:5
Specialized message to send orders between AI agents.
Definition AIOrder.c:14
ECharacterStance
EMovementType
@ NONE
When Shape is created and not initialized yet.
Definition ShapeType.c:15
SCR_FieldOfViewSettings Attribute
EWeaponType
Definition EWeaponType.c:13