Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_RemoveTarget.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
2
3class SCR_RemoveTarget : ScriptedUserAction
4{
5 private SCR_FiringRangeController m_LineController;
6 private SCR_FiringRangeManager m_FiringRangeManager;
7
8 //------------------------------------------------------------------------------------------------
9 override void Init(IEntity pOwnerEntity, GenericComponent pManagerComponent)
10 {
11 m_LineController = SCR_FiringRangeController.Cast(pOwnerEntity);
12 m_FiringRangeManager = SCR_FiringRangeManager.Cast(pOwnerEntity.GetParent());
13 }
14
15 //------------------------------------------------------------------------------------------------
16 override void PerformAction(IEntity pOwnerEntity, IEntity pUserEntity)
17 {
18 // Find local player controller
19 PlayerController playerController = GetGame().GetPlayerController();
20 if (!playerController)
21 return;
22
23 // Find firing range network entity to send RPC to server
25 if (!firingRangeNetworkEntity)
26 return;
27
28 // Select targets distance
29 firingRangeNetworkEntity.AddTarget(pOwnerEntity, false);
30 }
31
32 //------------------------------------------------------------------------------------------------
33 override bool CanBeShownScript(IEntity user)
34 {
35 // Check if the firing line is currently assigned to any player. If so, other players can't interact with this firing range controller.
36 if (m_FiringRangeManager)
37 return m_LineController.GetFiringLineOwnerId() == m_LineController.NO_TARGET_OWNER;
38
39 return false;
40 }
41
42 //------------------------------------------------------------------------------------------------
43 override bool CanBePerformedScript(IEntity user)
44 {
45 // Don't allow player to set less then 1 target in round
46 if (m_LineController.GetTargetsInRound() == 1)
47 return false;
48
49 return true;
50 }
51
52 //------------------------------------------------------------------------------------------------
53 override bool GetActionNameScript(out string outName)
54 {
55 outName = ("#AR-FiringRange_ActionRemoveTarget-UC");
56 return true;
57 }
58
59 //------------------------------------------------------------------------------------------------
60 override bool HasLocalEffectOnlyScript()
61 {
62 return true;
63 }
64 //------------------------------------------------------------------------------------------------
65 void SCR_RemoveTarget()
66 {
67 }
68
69 //------------------------------------------------------------------------------------------------
70 void ~SCR_RemoveTarget()
71 {
72 }
73
74};
override void Init()
ArmaReforgerScripted GetGame()
Definition game.c:1398
override bool HasLocalEffectOnlyScript()
proto external IEntity GetParent()
void AddTarget(notnull IEntity pOwnerEntity, bool increase)
static SCR_FiringRangeNetworkEntity GetInstance()
@ PerformAction