DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionViewOptics.c
См. документацию.
2{
4 {
6 m_CommandUID = DayZPlayerConstants.CMD_GESTUREFB_LOOKOPTICS;
7 m_CommandUIDProne = DayZPlayerConstants.CMD_GESTUREFB_LOOKOPTICS;
8 m_Text = "#Look_Through";
9 }
10
16
17 override bool IsFullBody(PlayerBase player)
18 {
19 return true;
20 }
21
22 override bool IsCameraLockOnPerform()
23 {
24 return false;
25 }
26
27 override bool HasProgress()
28 {
29 return false;
30 }
31
32 override bool HasTarget()
33 {
34 return false;
35 }
36
37 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
38 {
39 ItemOptics optic;
40 if (Class.CastTo(optic, item) && !optic.IsInOptics() && !player.IsNVGLowered())
41 {
42 return true;
43 }
44 return false;
45 }
46
47 override bool ActionConditionContinue(ActionData action_data)
48 {
49 return true;
50 }
51
52 override void OnStartClient(ActionData action_data)
53 {
54 super.OnStartClient(action_data);
55
56 GetGame().GetMission().AddActiveInputExcludes({"actonViewOpticExcl"});
57 }
58
59 override void OnStartServer(ActionData action_data)
60 {
61 super.OnStartServer(action_data);
62
63 if (!GetGame().IsMultiplayer())
64 GetGame().GetMission().AddActiveInputExcludes({"actonViewOpticExcl"});
65 }
66
67 override void OnStartAnimationLoopServer(ActionData action_data)
68 {
69 ItemOptics optic;
70 if (Class.CastTo(optic, action_data.m_MainItem))
71 {
72 if (!optic.IsInOptics())
73 {
74 EnterOptics(optic, action_data.m_Player);
75 }
76 }
77 }
78
79 override void OnStartAnimationLoopClient(ActionData action_data)
80 {
81 ItemOptics optic;
82 if (Class.CastTo(optic, action_data.m_MainItem))
83 {
84 if (!optic.IsInOptics())
85 {
86 EnterOptics(optic, action_data.m_Player);
87 }
88 }
89 }
90
91 override void OnEndClient(ActionData action_data)
92 {
93 ItemOptics optic;
94 if (Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
95 {
96 ExitOptics(optic, action_data.m_Player);
97 }
98 GetGame().GetMission().RemoveActiveInputExcludes({"actonViewOpticExcl"});
99 }
100
101 override void OnEndServer(ActionData action_data)
102 {
103 super.OnEndServer(action_data);
104
105 ItemOptics optic;
106 if (Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
107 {
108 ExitOptics(optic, action_data.m_Player);
109 }
110
111 if (!GetGame().IsMultiplayer())
112 GetGame().GetMission().RemoveActiveInputExcludes({"actonViewOpticExcl"});
113 }
114
115 override void OnEndAnimationLoopClient(ActionData action_data)
116 {
117 ItemOptics optic;
118 if (Class.CastTo(optic, action_data.m_MainItem))
119 {
120 ExitOptics(optic, action_data.m_Player);
121 }
122 }
123
124 override void OnEndAnimationLoopServer(ActionData action_data)
125 {
126 ItemOptics optic;
127 if (Class.CastTo(optic, action_data.m_MainItem))
128 {
129 ExitOptics(optic, action_data.m_Player);
130 }
131 }
132
133 bool CanWork(ItemBase item)
134 {
135 if (!item.HasEnergyManager())
136 {
137 return true;
138 }
139 else if (item.GetCompEM() && item.GetCompEM().CanWork())
140 {
141 return true;
142 }
143
144 return false;
145 }
146
148 {
149 player.SetIronsights(false);
150 player.SetHandheldOpticsInUse(true);
151 player.SetOptics(true);
152 optic.EnterOptics();
153 optic.HideSelection("hide");
154 if (optic.HasEnergyManager())
155 optic.GetCompEM().SwitchOn();
156 player.GetAimingModel().SetAimNoiseAllowed(false);
157 }
158
159 void ExitOptics(ItemOptics optic, PlayerBase player)
160 {
161 optic.ShowSelection("hide");
162 player.ExitSights();
163 player.SetHandheldOpticsInUse(false);
164 if (optic.HasEnergyManager())
165 optic.GetCompEM().SwitchOff();
166 player.GetAimingModel().SetAimNoiseAllowed(true);
167 }
168}
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
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:17
void ExitOptics(ItemOptics optic, PlayerBase player)
Определения ActionViewOptics.c:159
override bool ActionConditionContinue(ActionData action_data)
Определения ActionViewOptics.c:47
override void OnStartServer(ActionData action_data)
Определения ActionViewOptics.c:59
bool CanWork(ItemBase item)
Определения ActionViewOptics.c:133
override void OnStartAnimationLoopServer(ActionData action_data)
Определения ActionViewOptics.c:67
override void OnEndClient(ActionData action_data)
Определения ActionViewOptics.c:91
override bool HasTarget()
Определения ActionViewOptics.c:32
override void OnEndAnimationLoopServer(ActionData action_data)
Определения ActionViewOptics.c:124
void EnterOptics(ItemOptics optic, PlayerBase player)
Определения ActionViewOptics.c:147
override bool HasProgress()
Определения ActionViewOptics.c:27
override void CreateConditionComponents()
Определения ActionViewOptics.c:11
override void OnStartClient(ActionData action_data)
Определения ActionViewOptics.c:52
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionViewOptics.c:37
override void OnStartAnimationLoopClient(ActionData action_data)
Определения ActionViewOptics.c:79
override bool IsCameraLockOnPerform()
Определения ActionViewOptics.c:22
override void OnEndAnimationLoopClient(ActionData action_data)
Определения ActionViewOptics.c:115
override void OnEndServer(ActionData action_data)
Определения ActionViewOptics.c:101
int m_CommandUID
Определения AnimatedActionBase.c:143
int m_CommandUIDProne
Определения AnimatedActionBase.c:144
Определения CCINonRuined.c:2
Определения CCTNone.c:2
proto native Mission GetMission()
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения InventoryItem.c:731
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.