Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_FiringRangeNetworkEntity.c
Go to the documentation of this file.
1[EntityEditorProps(category: "GameScripted/FiringRange", description: "Entity handling communication player to server.")]
2class SCR_FiringRangeNetworkEntityClass : GenericEntityClass
3{
4};
5
6//------------------------------------------------------------------------------------------------
8{
9
11
12 //------------------------------------------------------------------------------------------------
14 {
15 return s_CommEnt;
16 }
17
18 //------------------------------------------------------------------------------------------------
19 void CalculateTargetDistance(notnull IEntity pOwnerEntity, bool increase)
20 {
21 Rpc(RpcAsk_CalculateTargetDistance, Replication.FindItemId(pOwnerEntity), increase);
22 }
23
24 //------------------------------------------------------------------------------------------------
25 void ClearPlayerScore(int playerID, SCR_FiringRangeManager firingRangeManager)
26 {
27 Rpc(RpcAsk_ClearPlayerScore, playerID, Replication.FindItemId(firingRangeManager));
28 }
29
30 //------------------------------------------------------------------------------------------------
31 void SetPlayerScoreMax(int playerID, int maxScore, SCR_FiringRangeManager firingRangeManager)
32
33 {
34 Rpc(RpcAsk_SetMaxLineScore, playerID, maxScore, Replication.FindItemId(firingRangeManager));
35 }
36
37 //------------------------------------------------------------------------------------------------
38 void ErectRandomTargets(notnull IEntity pOwnerEntity, int playerID)
39 {
40 Rpc(RpcAsk_ErectRandomTargets, Replication.FindItemId(pOwnerEntity), playerID);
41 }
42
43 //------------------------------------------------------------------------------------------------
44 void BackToDefaultTarget(notnull IEntity pOwnerEntity)
45 {
46 Rpc(RpcAsk_BackToDefaultTarget, Replication.FindItemId(pOwnerEntity));
47 }
48
49 //------------------------------------------------------------------------------------------------
50 void RemoveIndicators(IEntity pOwnerEntity, SCR_FiringRangeManager firingRangeManager)
51 {
52 if (!pOwnerEntity)
53 return;
54
55 Rpc(RpcAsk_RemoveIndicatorsServer, Replication.FindItemId(pOwnerEntity), Replication.FindItemId(firingRangeManager));
56 }
57
58 //------------------------------------------------------------------------------------------------
60 {
62 }
63
64 //------------------------------------------------------------------------------------------------
65 void AddTarget(notnull IEntity pOwnerEntity, bool increase)
66 {
67 Rpc(RpcAsk_AddTarget, Replication.FindItemId(pOwnerEntity), increase);
68 }
69
70 //------------------------------------------------------------------------------------------------
71 [RplRpc(RplChannel.Reliable, RplRcver.Owner)]
72 protected void RpcAsk_RegisterCommEntity(RplId comEntID)
73 {
74 IEntity ent = IEntity.Cast(Replication.FindItem(comEntID));
75 if (!ent)
76 return;
77
79 }
80
81 //------------------------------------------------------------------------------------------------
82 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
83 protected void RpcAsk_RemoveIndicatorsServer(RplId controllerReplicationId, RplId firingRangeManager)
84 {
85 SCR_FiringRangeManager manager = SCR_FiringRangeManager.Cast(Replication.FindItem(firingRangeManager));
86 if (manager)
87 manager.RemoveIndicators(controllerReplicationId);
88 }
89
90 //------------------------------------------------------------------------------------------------
91 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
92 protected void RpcAsk_CalculateTargetDistance(RplId controllerReplicationId, bool increase)
93 {
94 SCR_FiringRangeController lineController = SCR_FiringRangeController.Cast(Replication.FindItem(controllerReplicationId));
95 if (lineController)
96 lineController.CalculateTargetDistance(increase);
97 }
98
99 //------------------------------------------------------------------------------------------------
100 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
101 protected void RpcAsk_ClearPlayerScore(int playerID, RplId firingRangeManager)
102 {
103 SCR_FiringRangeManager manager = SCR_FiringRangeManager.Cast(Replication.FindItem(firingRangeManager));
104 if (manager)
105 manager.ClearPlayerScore(playerID);
106 }
107
108 //------------------------------------------------------------------------------------------------
109 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
110 protected void RpcAsk_ErectRandomTargets(RplId targetReplicationId, int playerID)
111 {
112 IEntity pOwnerEntity = IEntity.Cast(Replication.FindItem(targetReplicationId));
113 SCR_FiringRangeController lineController = SCR_FiringRangeController.Cast(pOwnerEntity);
114 if (lineController)
115 lineController.AnimateTargets(pOwnerEntity,playerID);
116 }
117
118 //------------------------------------------------------------------------------------------------
119 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
120 protected void RpcAsk_BackToDefaultTarget(RplId targetReplicationId)
121 {
122 SCR_FiringRangeController lineController = SCR_FiringRangeController.Cast(Replication.FindItem(targetReplicationId));
123 if (lineController)
124 lineController.BackToDefaultTarget();
125 }
126
127 //------------------------------------------------------------------------------------------------
128 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
129 protected void RpcAsk_SetMaxLineScore(int playerID, int maxScore, RplId firingRangeManager)
130 {
131 SCR_FiringRangeManager manager = SCR_FiringRangeManager.Cast(Replication.FindItem(firingRangeManager));
132 if (manager)
133 manager.SetPlayerScoreMax(playerID, maxScore);
134 }
135
136 //------------------------------------------------------------------------------------------------
137 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
138 protected void RpcAsk_CountPlayerScore(int playerID, int hitValue, RplId firingRangeManager)
139 {
140 SCR_FiringRangeManager manager = SCR_FiringRangeManager.Cast(Replication.FindItem(firingRangeManager));
141 if (manager)
142 manager.CountPlayerScore(playerID, hitValue);
143 }
144
145 //------------------------------------------------------------------------------------------------
146 [RplRpc(RplChannel.Reliable, RplRcver.Server)]
147 protected void RpcAsk_AddTarget(RplId controllerReplicationId, bool increase)
148 {
149 SCR_FiringRangeController lineController = SCR_FiringRangeController.Cast(Replication.FindItem(controllerReplicationId));
150 if (lineController)
151 lineController.UpdateNumberOfTargets(increase);
152 }
153
154 //------------------------------------------------------------------------------------------------
156 {
158 SetFlags(EntityFlags.NO_TREE | EntityFlags.NO_LINK);
159 }
160};
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
void Rpc(func method, void p0=NULL, void p1=NULL, void p2=NULL, void p3=NULL, void p4=NULL, void p5=NULL, void p6=NULL, void p7=NULL)
void IEntity(IEntitySource src, IEntity parent)
protected script Constructor
proto external EntityEvent SetEventMask(EntityEvent e)
proto external EntityFlags SetFlags(EntityFlags flags, bool recursively=false)
Main replication API.
Definition Replication.c:14
Replication item identifier.
Definition RplId.c:14
void CalculateTargetDistance(notnull IEntity pOwnerEntity, bool increase)
void SCR_FiringRangeNetworkEntity(IEntitySource src, IEntity parent)
void RpcAsk_ClearPlayerScore(int playerID, RplId firingRangeManager)
void AddTarget(notnull IEntity pOwnerEntity, bool increase)
void RpcAsk_SetMaxLineScore(int playerID, int maxScore, RplId firingRangeManager)
void RpcAsk_CalculateTargetDistance(RplId controllerReplicationId, bool increase)
void RpcAsk_CountPlayerScore(int playerID, int hitValue, RplId firingRangeManager)
void RpcAsk_BackToDefaultTarget(RplId targetReplicationId)
void ErectRandomTargets(notnull IEntity pOwnerEntity, int playerID)
static SCR_FiringRangeNetworkEntity GetInstance()
void SetPlayerScoreMax(int playerID, int maxScore, SCR_FiringRangeManager firingRangeManager)
void RpcAsk_RemoveIndicatorsServer(RplId controllerReplicationId, RplId firingRangeManager)
void RpcAsk_ErectRandomTargets(RplId targetReplicationId, int playerID)
void BackToDefaultTarget(notnull IEntity pOwnerEntity)
static SCR_FiringRangeNetworkEntity s_CommEnt
void RpcAsk_AddTarget(RplId controllerReplicationId, bool increase)
void ClearPlayerScore(int playerID, SCR_FiringRangeManager firingRangeManager)
void RemoveIndicators(IEntity pOwnerEntity, SCR_FiringRangeManager firingRangeManager)
EntityEvent
Various entity events.
Definition EntityEvent.c:14
EntityFlags
Various entity flags.
Definition EntityFlags.c:14
void RplRpc(RplChannel channel, RplRcver rcver, RplCondition condition=RplCondition.None, string customConditionName="")
Definition EnNetwork.c:95
RplRcver
Definition RplRcver.c:59
RplChannel
Communication channel. Reliable is guaranteed to be delivered. Unreliable not.
Definition RplChannel.c:14