DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
BunkerBroadcastProxy.c
См. документацию.
2{
4
5 protected Bunker m_Bunker;
6
7 protected int m_NetIdLow = -1;
8 protected int m_NetIdHigh = -1;
9
11 {
13
14 RegisterNetSyncVariableInt("m_NetIdLow", int.MIN, int.MAX);
15 RegisterNetSyncVariableInt("m_NetIdHigh", int.MIN, int.MAX);
16
17 RegisterNetSyncVariableBool("m_BunkerComponent.m_IsActive");
18 }
19
20 // --------------------------------------------------------------------------------
21
22 override void DeferredInit()
23 {
24 super.DeferredInit();
25
26 if (g_Game.IsServer())
27 {
30 }
31 }
32
33 // --------------------------------------------------------------------------------
34
35 override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
36 {
37 super.OnRPC(sender, rpc_type, ctx);
38
39 m_BunkerComponent.OnRPC(sender, rpc_type, ctx);
40 }
41
42 // --------------------------------------------------------------------------------
43
45 {
46 super.OnVariablesSynchronized();
47
48 if (g_Game.IsMultiplayer())
49 {
50 m_Bunker = Bunker.Cast(g_Game.GetObjectByNetworkId(m_NetIdLow, m_NetIdHigh));
51 if (m_Bunker)
52 m_Bunker.SetActive(IsActive());
53 }
54 }
55
56
57 // --------------------------------------------------------------------------------
58
59 bool IsActive()
60 {
61 return m_BunkerComponent.IsActive();
62 }
63
64 // --------------------------------------------------------------------------------
65
67 {
68 return m_Bunker;
69 }
70
71 // --------------------------------------------------------------------------------
72
73 protected void AssignBunkerObject()
74 {
75 array<Object> objects = new array<Object>();
77 g_Game.GetObjectsAtPosition3D(GetWorldPosition(), 1.0, objects, proxies);
78 foreach (Object bunkerObject : objects)
79 {
80 Bunker bunker = Bunker.Cast(bunkerObject);
81 if (bunker)
82 {
83 int low, high;
84 bunker.GetNetworkID(low, high);
85
86 m_NetIdLow = low;
87 m_NetIdHigh = high;
88 m_Bunker = bunker;
89
90 SetSynchDirty();
91
93 {
94 if (m_BunkerComponent.IsActive())
95 OnBunkerActivated(true, m_BunkerComponent.GetLockCode());
96 }
97
98 return;
99 }
100 }
101 }
102
103 // --------------------------------------------------------------------------------
104
105 protected void InitializeComponents()
106 {
108 {
109 m_BunkerComponent.Init();
110 if (m_BunkerComponent.GetOnActivated())
111 m_BunkerComponent.GetOnActivated().Insert(OnBunkerActivated);
112 if (m_BunkerComponent.GetOnDeactivated())
113 m_BunkerComponent.GetOnDeactivated().Insert(OnBunkerDeactivated);
114 }
115 }
116
117 // --------------------------------------------------------------------------------
118
119 protected void OnBunkerActivated(bool loadedAsActive, string codeLockCode)
120 {
121 if (!m_Bunker)
122 {
123 ErrorEx("No Bunker found, cannot activate");
124 return;
125 }
126
127 m_Bunker.OnBunkerActivated(loadedAsActive, m_BunkerComponent.GetLockCode());
128 }
129
130 // --------------------------------------------------------------------------------
131
132 protected void OnBunkerDeactivated()
133 {
134 if (!m_Bunker)
135 {
136 ErrorEx("No Bunker found, cannot activate");
137 return;
138 }
139
140 m_Bunker.OnBunkerDeactivated();
141 }
142}
BunkerBroadcastComponentBase Managed BunkerBroadcastComponent(notnull EntityAI parent)
Определения BunkerBroadcastComponent.c:156
class BunkerBroadcastJsonDataBase proxies
DayZGame g_Game
Определения DayZGame.c:4074
const int MIN
Определения EnConvert.c:28
const int MAX
Определения EnConvert.c:27
void Building()
Bunker GetBunker()
Определения BunkerBroadcastProxy.c:66
void OnBunkerDeactivated()
Определения BunkerBroadcastProxy.c:132
void OnBunkerActivated(bool loadedAsActive, string codeLockCode)
Определения BunkerBroadcastProxy.c:119
override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
Определения BunkerBroadcastProxy.c:35
void AssignBunkerObject()
Определения BunkerBroadcastProxy.c:73
Bunker m_Bunker
Определения BunkerBroadcastProxy.c:5
override void DeferredInit()
Определения BunkerBroadcastProxy.c:22
int m_NetIdHigh
Определения BunkerBroadcastProxy.c:8
override void OnVariablesSynchronized()
Определения BunkerBroadcastProxy.c:44
void BunkerBroadcastProxy()
Определения BunkerBroadcastProxy.c:10
bool IsActive()
Определения BunkerBroadcastProxy.c:59
void InitializeComponents()
Определения BunkerBroadcastProxy.c:105
ref BunkerBroadcastComponent m_BunkerComponent
Определения BunkerBroadcastProxy.c:3
Определения Bunker.c:2
Определения ObjectTyped.c:2
The class that will be instanced (moddable)
Определения gameplay.c:389
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Serializer ParamsReadContext
Определения gameplay.c:15
enum ShapeType ErrorEx