DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionVehicleHorn.c
См. документацию.
2{
3 static bool ActionCondition(PlayerBase player)
4 {
5 HumanCommandVehicle vehCommand = player.GetCommand_Vehicle();
6
7 if (vehCommand)
8 {
9 Transport trans = vehCommand.GetTransport();
10 if (trans)
11 {
12 if (!PlayerIsDriver(trans, player))
13 return false;
14
15 if (trans.NeedElectricitySourceDevice())
16 {
17 EntityAI battery = trans.GetElectricitySourceDevice();
18 return battery && (battery.GetHealthLevel("Health") <= GameConstants.STATE_DAMAGED);
19 }
20 else
21 return true;
22 }
23 }
24
25 return false;
26 }
27
28 static void SetHornState(VehicleHornActionData pActionData, int pMode)
29 {
30 if (!pActionData.m_Player)
31 return;
32
33 if (!pActionData.m_Transport)
34 return;
35
36 VehicleHornComponent horn = VehicleHornComponent.Cast(pActionData.m_Transport.GetVehicleHornComponent());
37 horn.SetMode(pMode);
38 }
39
40 protected static bool PlayerIsDriver(Transport trans, PlayerBase player)
41 {
42 return trans.GetSeatAnimationType(trans.CrewMemberIndex(player)) == DayZPlayerConstants.VEHICLESEAT_DRIVER;
43 }
44}
45
46class VehicleHornActionReceiveData : ActionReciveData
47{
48 bool m_ActionNeedEnd;
50}
51
57
58class ActionVehicleHornShortCB : ActionSingleUseBaseCB {}
59
61{
63 {
64 m_CallbackClass = ActionVehicleHornShortCB;
65 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_TOOTHORN;
66 //m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM;
67 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
68 }
69
70 override bool HasTarget()
71 {
72 return false;
73 }
74
75 override bool HasProgress()
76 {
77 return false;
78 }
79
80 override bool CanBeUsedInVehicle()
81 {
82 return true;
83 }
84
85 override bool UseMainItem()
86 {
87 return false;
88 }
89
91 {
94 }
95
96 override typename GetInputType()
97 {
99 }
100
102 {
103 ActionData action_data = new VehicleHornActionData();
104 return action_data;
105 }
106
107 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
108 {
110 }
111
113 override void OnUpdate(ActionData action_data)
114 {
115 super.OnUpdate(action_data);
116
117 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
118 if (vehicleHornData.m_WasExecuted && vehicleHornData.m_ActionNeedEnd)
119 {
120 vehicleHornData.m_Callback.SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
121 vehicleHornData.m_ActionNeedEnd = false;
122 }
123 }
124
125 override void OnEndInput(ActionData action_data)
126 {
127 super.OnEndInput(action_data);
128
129 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
131 }
132
134 override void OnStart(ActionData action_data)
135 {
136 super.OnStart(action_data);
137
138 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
139 vehicleHornData.m_ActionNeedEnd = true;
140 vehicleHornData.m_Transport = action_data.m_Player.GetCommand_Vehicle().GetTransport();
141 }
142
143 override void OnStartServer(ActionData action_data)
144 {
145 super.OnStartServer(action_data);
146
147 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
149 }
150
151 override void OnEndServer(ActionData action_data)
152 {
153 super.OnEndServer(action_data);
154
155 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
157 }
158
159 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
160 {
161 super.WriteToContext(ctx, action_data);
162
163 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
164
165 ctx.Write(vehicleHornData.m_ActionNeedEnd);
166 ctx.Write(vehicleHornData.m_Transport);
167 }
168
169 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
170 {
171 if (!action_recive_data)
172 action_recive_data = new VehicleHornActionReceiveData();
173
174 super.ReadFromContext(ctx, action_recive_data);
175
176 bool needUpdate;
177 if (!ctx.Read(needUpdate))
178 return false;
179
180 Transport transport;
181 if (!ctx.Read(transport))
182 return false;
183
184 VehicleHornActionReceiveData vehicleHornReceivedData = VehicleHornActionReceiveData.Cast(action_recive_data);
185 vehicleHornReceivedData.m_ActionNeedEnd = needUpdate;
186 vehicleHornReceivedData.m_Transport = transport;
187
188 return true;
189 }
190
191 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
192 {
193 super.HandleReciveData(action_recive_data, action_data);
194
195 VehicleHornActionReceiveData vehicleHornReceivedData = VehicleHornActionReceiveData.Cast(action_recive_data);
196 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
197 vehicleHornData.m_ActionNeedEnd = vehicleHornReceivedData.m_ActionNeedEnd;
198 vehicleHornData.m_Transport = vehicleHornReceivedData.m_Transport;
199 }
200}
201
203{
205 {
206 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_TOOTHORN;
207 //m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM;
208 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
209 }
210
211 override bool HasTarget()
212 {
213 return false;
214 }
215
216 override bool HasProgress()
217 {
218 return false;
219 }
220
221 override bool CanBeUsedInVehicle()
222 {
223 return true;
224 }
225
226 override typename GetInputType()
227 {
229 }
230
231 override bool UseMainItem()
232 {
233 return false;
234 }
235
237 {
238 m_ConditionItem = new CCINone();
240 }
241
243 {
244 ActionData action_data = new VehicleHornActionData();
245 return action_data;
246 }
247
248 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
249 {
251 }
252
254 override void OnUpdate(ActionData action_data)
255 {
256 super.OnUpdate(action_data);
257
258 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
259 if (vehicleHornData.m_ReciveEndInput && vehicleHornData.m_ActionNeedEnd)
260 {
261 vehicleHornData.m_Callback.SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
262 vehicleHornData.m_ActionNeedEnd = false;
263 }
264 }
265
266 override void OnEndInput(ActionData action_data)
267 {
268 super.OnEndInput(action_data);
269
270 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
272
273 ActionContinuousBaseCB callback;
274 if (Class.CastTo(callback, action_data.m_Callback))
275 {
276 vehicleHornData.m_State = UA_FINISHED;
277 callback.EndActionComponent();
278 }
279 }
280
281 override void OnStart(ActionData action_data)
282 {
283 super.OnStart(action_data);
284
285 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
286 vehicleHornData.m_ActionNeedEnd = true;
287 vehicleHornData.m_Transport = action_data.m_Player.GetCommand_Vehicle().GetTransport();
288 }
289
290 override void OnStartServer(ActionData action_data)
291 {
292 super.OnStartServer(action_data);
293
294 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
295 vehicleHornData.m_ActionNeedEnd = true;
297 }
298
299 override void OnEndServer(ActionData action_data)
300 {
301 super.OnEndServer(action_data);
302
303 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
305 }
306
307 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
308 {
309 super.WriteToContext(ctx, action_data);
310
311 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
312
313 ctx.Write(vehicleHornData.m_ActionNeedEnd);
314 ctx.Write(vehicleHornData.m_Transport);
315 }
316
317 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
318 {
319 if (!action_recive_data)
320 {
321 action_recive_data = new VehicleHornActionReceiveData();
322 }
323
324 super.ReadFromContext(ctx, action_recive_data);
325
326 bool needUpdate;
327 if (!ctx.Read(needUpdate))
328 return false;
329
330 Transport transport;
331 if (!ctx.Read(transport))
332 return false;
333
334 VehicleHornActionReceiveData vehicleHornReceivedData = VehicleHornActionReceiveData.Cast(action_recive_data);
335 vehicleHornReceivedData.m_ActionNeedEnd = needUpdate;
336 vehicleHornReceivedData.m_Transport = transport;
337
338 return true;
339 }
340
341 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
342 {
343 super.HandleReciveData(action_recive_data, action_data);
344
345 VehicleHornActionReceiveData vehicleHornReceivedData = VehicleHornActionReceiveData.Cast(action_recive_data);
346 VehicleHornActionData vehicleHornData = VehicleHornActionData.Cast(action_data);
347 vehicleHornData.m_ActionNeedEnd = vehicleHornReceivedData.m_ActionNeedEnd;
348 vehicleHornData.m_Transport = vehicleHornReceivedData.m_Transport;
349 }
350}
ActionData CreateActionData()
Определения ActionBase.c:240
void OnEndInput(ActionData action_data)
Определения ActionBase.c:832
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool UseMainItem()
Определения ActionBase.c:417
int m_StanceMask
Определения ActionBase.c:61
bool HasProgress()
For UI: hiding of progress bar.
Определения ActionBase.c:265
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBase.c:603
bool CanBeUsedInVehicle()
Определения ActionBase.c:361
class ActionCarHornBase m_ActionNeedEnd
obsolete
Определения ActionCarHorn.c:67
VehicleHornShortActionInput ContinuousDefaultActionInput VehicleHornLongActionInput(PlayerBase player)
backward compatibility (pre 1.30)
Определения ActionInput.c:762
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
Transport m_Transport
Определения ActionVehicleHorn.c:49
VehicleHornActionData ActionData ActionVehicleHornShort()
Определения ActionVehicleHorn.c:62
void ReadFromContext(ParamsReadContext ctx)
Определения Hand_Events.c:70
void WriteToContext(ParamsWriteContext ctx)
Определения Hand_Events.c:72
void OnStart(Param par=null)
Определения PPERequestPlatformsBase.c:787
void VehicleHornComponent(notnull EntityAI parent)
Определения VehicleHornComponent.c:24
void SetCommand(int command_uid)
Определения AnimatedActionBase.c:56
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
override void EndActionComponent()
Определения ActionContinuousBase.c:79
PlayerBase m_Player
Определения ActionBase.c:40
ActionBaseCB m_Callback
Определения ActionBase.c:36
int m_State
Определения ActionBase.c:38
bool m_ReciveEndInput
Определения ActionBase.c:48
void ActionData()
Определения ActionBase.c:23
bool m_WasExecuted
Определения ActionBase.c:46
Определения ActionBase.c:22
override bool HasTarget()
Определения ActionPin.c:14
override GetInputType()
Определения ActionSingleUseBase.c:37
override void CreateConditionComponents()
Определения ActionPin.c:8
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionPin.c:19
static bool ActionCondition(PlayerBase player)
Определения ActionVehicleHorn.c:3
static void SetHornState(VehicleHornActionData pActionData, int pMode)
Определения ActionVehicleHorn.c:28
static bool PlayerIsDriver(Transport trans, PlayerBase player)
Определения ActionVehicleHorn.c:40
override void OnEndInput(ActionData action_data)
Определения ActionVehicleHorn.c:266
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionVehicleHorn.c:341
override void OnStartServer(ActionData action_data)
Определения ActionVehicleHorn.c:290
override ActionData CreateActionData()
Определения ActionVehicleHorn.c:242
override bool UseMainItem()
Определения ActionVehicleHorn.c:231
void ActionVehicleHornLong()
Определения ActionVehicleHorn.c:204
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionVehicleHorn.c:307
override void OnStart(ActionData action_data)
Определения ActionVehicleHorn.c:281
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionVehicleHorn.c:248
override bool HasTarget()
Определения ActionVehicleHorn.c:211
override bool CanBeUsedInVehicle()
Определения ActionVehicleHorn.c:221
override void OnUpdate(ActionData action_data)
special case - manually ends the action on exec event
Определения ActionVehicleHorn.c:254
override bool HasProgress()
Определения ActionVehicleHorn.c:216
override GetInputType()
Определения ActionVehicleHorn.c:226
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionVehicleHorn.c:317
override void CreateConditionComponents()
Определения ActionVehicleHorn.c:236
override void OnEndServer(ActionData action_data)
Определения ActionVehicleHorn.c:299
override void OnStartServer(ActionData action_data)
Определения AnimatedActionBase.c:504
override void OnEndServer(ActionData action_data)
Определения AnimatedActionBase.c:512
int m_CommandUID
Определения AnimatedActionBase.c:147
Определения CCINone.c:2
Определения CCTNone.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
proto native Transport GetTransport()
Определения human.c:712
Определения PlayerBaseClient.c:2
proto bool Write(void value_out)
proto bool Read(void value_in)
Native class for boats - handles physics simulation.
Определения Boat.c:29
bool m_ActionNeedEnd
Определения ActionVehicleHorn.c:54
Transport m_Transport
Определения ActionVehicleHorn.c:55
const int LONG
Определения VehicleHornComponent.c:5
const int OFF
Определения VehicleHornComponent.c:3
const int SHORT
Определения VehicleHornComponent.c:4
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const int STATE_DAMAGED
Определения 3_Game/DayZ/constants.c:911
proto native void OnUpdate()
Определения 3_Game/DayZ/tools/tools.c:349
const int UA_FINISHED
Определения 3_Game/DayZ/constants.c:498