DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionAnimateCarSelection.c
См. документацию.
2{
3 string m_AnimSource = "";
4
6 {
7 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
8 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
9 m_Text = "#manipulate";
10 }
11
13 {
16 }
17
18 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
19 {
20 if (!target)
21 {
22 return false;
23 }
24
25 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
26 {
27 return false;
28 }
29
30 Object targetObject = target.GetObject();
31 Entity targetEnt = Entity.Cast(targetObject);
32
33 array<string> selections = new array<string>();
34 targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
35
36 CarScript car;
37 if (Class.CastTo(car, targetEnt))
38 {
39 for (int i = 0; i < selections.Count(); i++)
40 {
41 m_AnimSource = car.GetAnimSourceFromSelection(selections[i]);
42 if (m_AnimSource != "")
43 {
44 return true;
45 }
46 }
47 }
48
49 return false;
50 }
51
52 override void OnStartServer(ActionData action_data)
53 {
54 super.OnStartServer(action_data);
55
56 Entity targetEnt;
57 if (Class.CastTo(targetEnt, action_data.m_Target.GetObject()))
58 {
59 if (targetEnt.GetAnimationPhase(m_AnimSource) > 0.5)
60 {
61 targetEnt.SetAnimationPhase(m_AnimSource, 0.0);
62 }
63
64 if (targetEnt.GetAnimationPhase(m_AnimSource) <= 0.5)
65 {
66 targetEnt.SetAnimationPhase(m_AnimSource, 1.0);
67 }
68 }
69
70 CarScript car;
71 if (Class.CastTo(car, action_data.m_Target.GetObject()))
72 {
73 car.ForceUpdateLightsStart();
74 }
75 }
76
77 override void OnEndServer( ActionData action_data )
78 {
79 super.OnEndServer(action_data);
80
81 CarScript car;
82 if (Class.CastTo(car, action_data.m_Target.GetObject()))
83 {
84 car.ForceUpdateLightsEnd();
85 }
86 }
87};
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
override void OnStartServer(ActionData action_data)
Определения ActionAnimateCarSelection.c:52
void ActionAnimateCarSelection()
Определения ActionAnimateCarSelection.c:5
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionAnimateCarSelection.c:18
override void CreateConditionComponents()
Определения ActionAnimateCarSelection.c:12
override void OnEndServer(ActionData action_data)
Определения ActionAnimateCarSelection.c:77
int m_StanceMask
Определения ActionBase.c:62
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Определения ActionBase.c:1158
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
void ActionInteractBase()
Определения ActionInteractBase.c:43
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINone.c:2
Определения CCTNone.c:2
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:327
Определения CivilianSedan.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Camera.c:2
Определения InventoryItem.c:731
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:112
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.