DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionCarHorn.c
См. документацию.
1[Obsolete("replaced by ActionVehicleHornBase")]
3{
4 static bool ActionCondition(PlayerBase player)
5 {
6 HumanCommandVehicle vehCommand = player.GetCommand_Vehicle();
7
8 if (vehCommand)
9 {
10 Transport trans = vehCommand.GetTransport();
11 if (trans)
12 {
13 if (!PlayerIsDriver(trans, player))
14 {
15 return false;
16 }
17
18 CarScript car;
19 if (Class.CastTo(car, trans))
20 {
21 return BatteryIsVital(car.GetBattery());
22 }
23 }
24 }
25
26 return false;
27 }
28
29 static void SetCarHornState(CarHornActionData pActionData, int pState)
30 {
31 if (!pActionData.m_Player)
32 return;
33
34 if (!pActionData.m_Car)
35 return;
36
37 pActionData.m_Car.SetCarHornState(pState);
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 protected static bool BatteryIsVital(ItemBase battery)
46 {
47 return battery && battery.GetHealthLevel("Health") <= GameConstants.STATE_DAMAGED;
48 }
49}
50
52class CarHornActionReceiveData : ActionReciveData
53{
54 bool m_ActionNeedEnd;
56
57}
58
65
66[Obsolete("replaced by ActionVehicleHornShortCB")]
67class ActionCarHornShortCB : ActionSingleUseBaseCB {}
68
69[Obsolete("replaced by ActionVehicleHornShort")]
71{
73 {
74 m_CallbackClass = ActionCarHornShortCB;
75 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_TOOTHORN;
76 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
77 }
78
79 override bool HasTarget()
80 {
81 return false;
82 }
83
84 override bool HasProgress()
85 {
86 return false;
87 }
88
89 override bool CanBeUsedInVehicle()
90 {
91 return true;
92 }
93
94 override bool UseMainItem()
95 {
96 return false;
97 }
98
100 {
101 m_ConditionItem = new CCINone();
103 }
104
105 override typename GetInputType()
106 {
107 return CarHornShortActionInput;
108 }
109
111 {
112 ActionData action_data = new CarHornActionData();
113 return action_data;
114 }
115
116 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
117 {
118 return ActionCarHornBase.ActionCondition(player);
119 }
120
122 override void OnUpdate(ActionData action_data)
123 {
124 super.OnUpdate(action_data);
125
126 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
127 if (carHornData.m_WasExecuted && carHornData.m_ActionNeedEnd)
128 {
129 carHornData.m_Callback.SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
130 carHornData.m_ActionNeedEnd = false;
131 }
132 }
133
134 override void OnEndInput(ActionData action_data)
135 {
136 super.OnEndInput(action_data);
137
138 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
139 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.OFF);
140 }
141
143 override void OnStart(ActionData action_data)
144 {
145 super.OnStart(action_data);
146
147 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
148 carHornData.m_ActionNeedEnd = true;
149 carHornData.m_Car = CarScript.Cast(action_data.m_Player.GetCommand_Vehicle().GetTransport());
150 }
151
152 override void OnStartServer(ActionData action_data)
153 {
154 super.OnStartServer(action_data);
155
156 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
157 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.SHORT);
158 }
159
160 override void OnEndServer(ActionData action_data)
161 {
162 super.OnEndServer(action_data);
163
164 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
165 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.OFF);
166 }
167
168 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
169 {
170 super.WriteToContext(ctx, action_data);
171
172 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
173
174 ctx.Write(carHornData.m_ActionNeedEnd);
175 ctx.Write(carHornData.m_Car);
176 }
177
178 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
179 {
180 if (!action_recive_data)
181 {
182 action_recive_data = new CarHornActionReceiveData();
183 }
184
185 super.ReadFromContext(ctx, action_recive_data);
186
187 bool needUpdate;
188 if (!ctx.Read(needUpdate))
189 return false;
190
191 CarScript carScript;
192 if (!ctx.Read(carScript))
193 return false;
194
195 CarHornActionReceiveData carHornReceivedData = CarHornActionReceiveData.Cast(action_recive_data);
196 carHornReceivedData.m_ActionNeedEnd = needUpdate;
197 carHornReceivedData.m_Car = carScript;
198
199 return true;
200 }
201
202 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
203 {
204 super.HandleReciveData(action_recive_data, action_data);
205
206 CarHornActionReceiveData carHornReceivedData = CarHornActionReceiveData.Cast(action_recive_data);
207 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
208 carHornData.m_ActionNeedEnd = carHornReceivedData.m_ActionNeedEnd;
209 carHornData.m_Car = carHornReceivedData.m_Car;
210 }
211}
212
213[Obsolete("replaced by ActionVehicleHornLong")]
214class ActionCarHornLong : ActionContinuousBase
215{
216 void ActionCarHornLong()
217 {
218 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_TOOTHORN;
219 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
220 }
222 override bool HasTarget()
223 {
224 return false;
225 }
227 override bool HasProgress()
228 {
229 return false;
230 }
232 override bool CanBeUsedInVehicle()
233 {
234 return true;
235 }
237 override typename GetInputType()
238 {
240 }
242 override bool UseMainItem()
243 {
244 return false;
245 }
246
248 {
249 m_ConditionItem = new CCINone();
251 }
254 {
255 ActionData action_data = new CarHornActionData();
256 return action_data;
257 }
259 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
260 {
261 return ActionCarHornBase.ActionCondition(player);
262 }
263
264 //! special case - manually ends the action on exec event
265 override void OnUpdate(ActionData action_data)
266 {
267 super.OnUpdate(action_data);
268
269 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
270 if (carHornData.m_ReciveEndInput && carHornData.m_ActionNeedEnd)
271 {
272 carHornData.m_Callback.SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
273 carHornData.m_ActionNeedEnd = false;
274 }
275 }
277 override void OnEndInput(ActionData action_data)
278 {
279 super.OnEndInput(action_data);
280
281 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
282 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.OFF);
283
284 ActionContinuousBaseCB callback;
285 if (Class.CastTo(callback, action_data.m_Callback))
286 {
287 carHornData.m_State = UA_FINISHED;
288 callback.EndActionComponent();
289 }
290 }
291
292 override void OnStart(ActionData action_data)
293 {
294 super.OnStart(action_data);
295
296 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
297 carHornData.m_ActionNeedEnd = true;
298 carHornData.m_Car = CarScript.Cast(action_data.m_Player.GetCommand_Vehicle().GetTransport());
299 }
300
301 override void OnStartServer(ActionData action_data)
303 super.OnStartServer(action_data);
304
305 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
306 carHornData.m_ActionNeedEnd = true;
307 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.LONG);
308 }
309
310 override void OnEndServer(ActionData action_data)
311 {
312 super.OnEndServer(action_data);
313
314 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
315 ActionCarHornBase.SetCarHornState(carHornData, ECarHornState.OFF);
316 }
317
318 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
319 {
320 super.WriteToContext(ctx, action_data);
321
322 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
323
324 ctx.Write(carHornData.m_ActionNeedEnd);
325 ctx.Write(carHornData.m_Car);
326 }
327
328 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
329 {
330 if (!action_recive_data)
331 {
332 action_recive_data = new CarHornActionReceiveData();
333 }
334
335 super.ReadFromContext(ctx, action_recive_data);
336
337 bool needUpdate;
338 if (!ctx.Read(needUpdate))
339 return false;
340
341 CarScript carScript;
342 if (!ctx.Read(carScript))
343 return false;
345 CarHornActionReceiveData carHornReceivedData = CarHornActionReceiveData.Cast(action_recive_data);
346 carHornReceivedData.m_ActionNeedEnd = needUpdate;
347 carHornReceivedData.m_Car = carScript;
348
349 return true;
350 }
351
352 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
353 {
354 super.HandleReciveData(action_recive_data, action_data);
355
356 CarHornActionReceiveData carHornReceivedData = CarHornActionReceiveData.Cast(action_recive_data);
357 CarHornActionData carHornData = CarHornActionData.Cast(action_data);
358 carHornData.m_ActionNeedEnd = carHornReceivedData.m_ActionNeedEnd;
359 carHornData.m_Car = carHornReceivedData.m_Car;
360 }
361}
ActionData CreateActionData()
Определения ActionBase.c:240
bool HasTarget()
Определения ActionBase.c:259
void CreateConditionComponents()
Определения ActionBase.c:245
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
CarHornActionData ActionData Obsolete("replaced by ActionVehicleHornShortCB")
Определения ActionCarHorn.c:66
class ActionCarHornBase m_ActionNeedEnd
obsolete
Определения ActionCarHorn.c:67
CarScript m_Car
Определения ActionPushCar.c:19
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
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 SetCommand(int command_uid)
Определения AnimatedActionBase.c:56
static void SetCarHornState(CarHornActionData pActionData, int pState)
Определения ActionCarHorn.c:29
static bool ActionCondition(PlayerBase player)
Определения ActionCarHorn.c:4
static bool PlayerIsDriver(Transport trans, PlayerBase player)
Определения ActionCarHorn.c:40
static bool BatteryIsVital(ItemBase battery)
Определения ActionCarHorn.c:45
Определения ActionCarHorn.c:3
override void OnUpdate(ActionData action_data)
special case - manually ends the action on exec event
Определения ActionCarHorn.c:122
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionCarHorn.c:178
override GetInputType()
Определения ActionCarHorn.c:105
override void CreateConditionComponents()
Определения ActionCarHorn.c:99
override bool HasTarget()
Определения ActionCarHorn.c:79
override void OnStart(ActionData action_data)
sets the m_ActionNeeded flag on both sides
Определения ActionCarHorn.c:143
override bool CanBeUsedInVehicle()
Определения ActionCarHorn.c:89
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionCarHorn.c:202
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionCarHorn.c:168
override void OnEndInput(ActionData action_data)
Определения ActionCarHorn.c:134
void ActionCarHornShort()
Определения ActionCarHorn.c:72
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionCarHorn.c:116
override void OnStartServer(ActionData action_data)
Определения ActionCarHorn.c:152
override bool HasProgress()
Определения ActionCarHorn.c:84
override void OnEndServer(ActionData action_data)
Определения ActionCarHorn.c:160
override bool UseMainItem()
Определения ActionCarHorn.c:94
override ActionData CreateActionData()
Определения ActionCarHorn.c:110
override GetInputType()
Определения ActionContinuousBase.c:179
override void OnEndInput(ActionData action_data)
Определения ActionContinuousBase.c:135
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
void ActionSingleUseBase()
Определения ActionSingleUseBase.c:31
override void OnStartServer(ActionData action_data)
Определения AnimatedActionBase.c:504
override void OnEndServer(ActionData action_data)
Определения AnimatedActionBase.c:512
int m_CommandUID
Определения AnimatedActionBase.c:147
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:244
Определения CCINone.c:2
Определения CCTNone.c:2
CarScript m_Car
Определения ActionCarHorn.c:63
bool m_ActionNeedEnd
Определения ActionCarHorn.c:62
obsolete
Определения ActionCarHorn.c:61
backward compatibility (pre 1.30)
Определения ActionInput.c:774
Определения Truck_02.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
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