DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionViewOptics.c
См. документацию.
2{
4 {
6 m_CommandUID = DayZPlayerConstants.CMD_GESTUREFB_LOOKOPTICS;
7 m_CommandUIDProne = DayZPlayerConstants.CMD_GESTUREFB_LOOKOPTICS;
8
9 m_Text = "#Look_Through";
10 }
11
13 {
16 }
17
18 override bool IsFullBody(PlayerBase player)
19 {
20 return true;
21 }
22
23 override bool IsCameraLockOnPerform()
24 {
25 return false;
26 }
27
28 override bool CanBeUsedLeaning()
29 {
30 return false;
31 }
32
33 override bool HasProgress()
34 {
35 return false;
36 }
37
38 override bool HasTarget()
39 {
40 return false;
41 }
42
43 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
44 {
45 ItemOptics optic;
46 if (Class.CastTo(optic, item) && !optic.IsInOptics() && !player.IsNVGLowered())
47 {
48 return true;
49 }
50 return false;
51 }
52
53 override bool ActionConditionContinue(ActionData action_data)
54 {
55 return true;
56 }
57
58 override void OnStartClient(ActionData action_data)
59 {
60 super.OnStartClient(action_data);
61
62 GetGame().GetMission().AddActiveInputExcludes({"actonViewOpticExcl"});
63 }
64
65 override void OnStartServer(ActionData action_data)
66 {
67 super.OnStartServer(action_data);
68
69 if (!GetGame().IsMultiplayer())
70 GetGame().GetMission().AddActiveInputExcludes({"actonViewOpticExcl"});
71 }
72
73 override void OnStartAnimationLoopServer(ActionData action_data)
74 {
75 ItemOptics optic;
76 if (Class.CastTo(optic, action_data.m_MainItem))
77 {
78 if (!optic.IsInOptics())
79 {
80 EnterOptics(optic, action_data.m_Player);
81 }
82 }
83 }
84
85 override void OnStartAnimationLoopClient(ActionData action_data)
86 {
87 ItemOptics optic;
88 if (Class.CastTo(optic, action_data.m_MainItem))
89 {
90 if (!optic.IsInOptics())
91 {
92 EnterOptics(optic, action_data.m_Player);
93 }
94 }
95 }
96
97 override void OnEndClient(ActionData action_data)
98 {
99 ItemOptics optic;
100 if (Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
101 {
102 ExitOptics(optic, action_data.m_Player);
103 }
104 GetGame().GetMission().RemoveActiveInputExcludes({"actonViewOpticExcl"});
105 }
106
107 override void OnEndServer(ActionData action_data)
108 {
109 super.OnEndServer(action_data);
110
111 ItemOptics optic;
112 if (Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
113 {
114 ExitOptics(optic, action_data.m_Player);
115 }
116
117 if (!GetGame().IsMultiplayer())
118 GetGame().GetMission().RemoveActiveInputExcludes({"actonViewOpticExcl"});
119 }
120
121 override void OnEndAnimationLoopClient(ActionData action_data)
122 {
123 ItemOptics optic;
124 if (Class.CastTo(optic, action_data.m_MainItem))
125 {
126 ExitOptics(optic, action_data.m_Player);
127 }
128 }
129
130 override void OnEndAnimationLoopServer(ActionData action_data)
131 {
132 ItemOptics optic;
133 if (Class.CastTo(optic, action_data.m_MainItem))
134 {
135 ExitOptics(optic, action_data.m_Player);
136 }
137 }
138
139 bool CanWork(ItemBase item)
140 {
141 if (!item.HasEnergyManager())
142 {
143 return true;
144 }
145 else if (item.GetCompEM() && item.GetCompEM().CanWork())
146 {
147 return true;
148 }
149
150 return false;
151 }
152
154 {
155 player.SetIronsights(false);
156 player.SetHandheldOpticsInUse(true);
157 player.SetOptics(true);
158
159 optic.EnterOptics();
160 optic.HideSelection("hide");
161
162 if (optic.HasEnergyManager())
163 optic.GetCompEM().SwitchOn();
164
165 player.GetAimingModel().SetAimNoiseAllowed(false);
166 }
167
168 void ExitOptics(ItemOptics optic, PlayerBase player)
169 {
170 player.ExitSights();
171 player.SetHandheldOpticsInUse(false);
172
173 optic.ShowSelection("hide");
174 optic.ExitOptics();
175
176 if (optic.HasEnergyManager())
177 optic.GetCompEM().SwitchOff();
178
179 player.GetAimingModel().SetAimNoiseAllowed(true);
180 }
181}
ActionBase ActionData
Определения ActionBase.c:30
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:121
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
void ActionViewOptics()
Определения ActionViewOptics.c:3
override bool IsFullBody(PlayerBase player)
Определения ActionViewOptics.c:18
void ExitOptics(ItemOptics optic, PlayerBase player)
Определения ActionViewOptics.c:168
override bool ActionConditionContinue(ActionData action_data)
Определения ActionViewOptics.c:53
override void OnStartServer(ActionData action_data)
Определения ActionViewOptics.c:65
bool CanWork(ItemBase item)
Определения ActionViewOptics.c:139
override void OnStartAnimationLoopServer(ActionData action_data)
Определения ActionViewOptics.c:73
override void OnEndClient(ActionData action_data)
Определения ActionViewOptics.c:97
override bool HasTarget()
Определения ActionViewOptics.c:38
override void OnEndAnimationLoopServer(ActionData action_data)
Определения ActionViewOptics.c:130
void EnterOptics(ItemOptics optic, PlayerBase player)
Определения ActionViewOptics.c:153
override bool HasProgress()
Определения ActionViewOptics.c:33
override void CreateConditionComponents()
Определения ActionViewOptics.c:12
override void OnStartClient(ActionData action_data)
Определения ActionViewOptics.c:58
override bool CanBeUsedLeaning()
Определения ActionViewOptics.c:28
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionViewOptics.c:43
override void OnStartAnimationLoopClient(ActionData action_data)
Определения ActionViewOptics.c:85
override bool IsCameraLockOnPerform()
Определения ActionViewOptics.c:23
override void OnEndAnimationLoopClient(ActionData action_data)
Определения ActionViewOptics.c:121
override void OnEndServer(ActionData action_data)
Определения ActionViewOptics.c:107
int m_CommandUID
Определения AnimatedActionBase.c:143
int m_CommandUIDProne
Определения AnimatedActionBase.c:144
Определения CCINone.c:2
Определения CCTNone.c:2
proto native Mission GetMission()
Super root of all classes in Enforce script.
Определения EnScript.c:11
proto native bool ExitOptics()
switches out of optics mode (if possible)
proto native bool IsInOptics()
is weapon in optics mode or not
proto native bool EnterOptics()
switches to optics mode if possible
override void ShowSelection(string selection_name)
Определения HuntingOptic.c:44
override void HideSelection(string selection_name)
Определения HuntingOptic.c:34
Определения ItemOptics.c:2
void AddActiveInputExcludes(array< string > excludes)
void RemoveActiveInputExcludes(array< string > excludes, bool bForceSupress=false)
deprecated
Определения PlayerBaseClient.c:2
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.