12 override void CreateConditionComponents()
23 override bool IsCameraLockOnPerform()
28 override bool CanBeUsedLeaning()
33 override bool HasProgress()
38 override bool HasTarget()
46 if (
Class.CastTo(optic, item) && !optic.IsInOptics() && !player.IsNVGLowered())
53 override bool ActionConditionContinue(ActionData action_data)
58 override void OnStartClient(ActionData action_data)
60 super.OnStartClient(action_data);
62 GetGame().GetMission().AddActiveInputExcludes({
"actonViewOpticExcl"});
65 override void OnStartServer(ActionData action_data)
67 super.OnStartServer(action_data);
70 GetGame().GetMission().AddActiveInputExcludes({
"actonViewOpticExcl"});
73 override void OnStartAnimationLoopServer(ActionData action_data)
76 if (
Class.CastTo(optic, action_data.m_MainItem))
78 if (!optic.IsInOptics())
80 EnterOptics(optic, action_data.m_Player);
85 override void OnStartAnimationLoopClient(ActionData action_data)
88 if (
Class.CastTo(optic, action_data.m_MainItem))
90 if (!optic.IsInOptics())
92 EnterOptics(optic, action_data.m_Player);
97 override void OnEndClient(ActionData action_data)
100 if (
Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
102 ExitOptics(optic, action_data.m_Player);
104 GetGame().GetMission().RemoveActiveInputExcludes({
"actonViewOpticExcl"});
107 override void OnEndServer(ActionData action_data)
109 super.OnEndServer(action_data);
112 if (
Class.CastTo(optic, action_data.m_MainItem) && optic.IsInOptics())
114 ExitOptics(optic, action_data.m_Player);
117 if (!
GetGame().IsMultiplayer())
118 GetGame().GetMission().RemoveActiveInputExcludes({
"actonViewOpticExcl"});
121 override void OnEndAnimationLoopClient(ActionData action_data)
124 if (
Class.CastTo(optic, action_data.m_MainItem))
126 ExitOptics(optic, action_data.m_Player);
130 override void OnEndAnimationLoopServer(ActionData action_data)
133 if (
Class.CastTo(optic, action_data.m_MainItem))
135 ExitOptics(optic, action_data.m_Player);
141 if (!item.HasEnergyManager())
145 else if (item.GetCompEM() && item.GetCompEM().CanWork())
155 player.SetIronsights(
false);
156 player.SetHandheldOpticsInUse(
true);
157 player.SetOptics(
true);
160 optic.HideSelection(
"hide");
162 if (optic.HasEnergyManager())
163 optic.GetCompEM().SwitchOn();
165 player.GetAimingModel().SetAimNoiseAllowed(
false);
171 player.SetHandheldOpticsInUse(
false);
173 optic.ShowSelection(
"hide");
176 if (optic.HasEnergyManager())
177 optic.GetCompEM().SwitchOff();
179 player.GetAimingModel().SetAimNoiseAllowed(
true);