DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnDoorLocked()

override void GetLockCompatibilityType::OnDoorLocked ( DoorLockParams params)
protected

См. определение в файле ContainerLocked.c строка 175

176{
177 protected int m_LockedMask = 0;
178 protected int m_OpeningMask = 0;
179
181 {
182 int count = GetDoorCount();
183 for (int i = 0; i < count; i++)
184 {
185 LockDoor(i);
186 }
187 }
188
189 override void OnStoreSave(ParamsWriteContext ctx)
190 {
191 super.OnStoreSave(ctx);
192
193 ctx.Write(m_LockedMask);
194 ctx.Write(m_OpeningMask);
195 }
196
197 override bool OnStoreLoad(ParamsReadContext ctx, int version)
198 {
199 if (!super.OnStoreLoad(ctx, version))
200 return false;
201
202 ctx.Read(m_LockedMask);
203 ctx.Read(m_OpeningMask);
204
206
207 return true;
208 }
209
210 protected void HandleDoorLoad()
211 {
212 int count = GetDoorCount();
213 int i;
214
215 //locking
216 for (i = 0; i < count; i++)
217 {
218 if (m_LockedMask & (1 << i))
219 {
220 LockDoor(i,true);
221 }
222 else
223 {
224 UnlockDoor(i);
225 }
226 }
227
228 //then opening
229 for (i = 0; i < count; i++)
230 {
231 if (m_OpeningMask & (1 << i) && !IsDoorLocked(i))
232 {
233 OpenDoor(i);
234 }
235 }
236 }
237
239 //events
240
241 override void OnDoorLocked(DoorLockParams params)
242 {
243 super.OnDoorLocked(params);
244
245 m_LockedMask |= 1 << params.param1;
246
247
248 string selectionName = string.Format("side%1_lock",(params.param1 + 1));
249 SetAnimationPhase(selectionName,0);
250 }
251
252 override void OnDoorUnlocked(DoorLockParams params)
253 {
254 super.OnDoorUnlocked(params);
255
256 int doorIdx = params.param1;
257
258 m_LockedMask &= ~(1 << doorIdx);
259
260 string selectionName = string.Format("side%1_lock",(doorIdx + 1));
261 SetAnimationPhase(selectionName,1);
262
263 if (!GetGame().IsDedicatedServer())
264 SEffectManager.PlaySoundEnviroment("Land_ContainerLocked_lock_SoundSet",GetDoorSoundPos(doorIdx));
265 }
266
267 override void OnDoorCloseStart(DoorStartParams params)
268 {
269 super.OnDoorCloseStart(params);
270
271 m_OpeningMask &= ~(1 << params.param1);
272 }
273
274 override void OnDoorOpenStart(DoorStartParams params)
275 {
276 super.OnDoorOpenStart(params);
277
278 m_OpeningMask |= 1 << params.param1;
279 }
280}
281
282class Land_ContainerLocked_Blue_DE : ContainerLockedBase
283{
284 override int GetLockCompatibilityType(int doorIdx)
285 {
286 return 1 << EBuildingLockType.SHIP_CONTAINER_0;
287 }
288}
289
291{
292 override int GetLockCompatibilityType(int doorIdx)
293 {
294 return 1 << EBuildingLockType.SHIP_CONTAINER_1;
295 }
296}
297
298class Land_ContainerLocked_Orange_DE : ContainerLockedBase
299{
300 override int GetLockCompatibilityType(int doorIdx)
301 {
302 return 1 << EBuildingLockType.SHIP_CONTAINER_2;
303 }
304}
305
307{
308 override int GetLockCompatibilityType(int doorIdx)
309 {
310 return 1 << EBuildingLockType.SHIP_CONTAINER_3;
311 }
312}
Param1< int > DoorStartParams
Определения Building.c:1
Param1< int > DoorLockParams
Определения Building.c:3
int m_LockedMask
Определения ContainerLocked.c:111
override void OnDoorOpenStart(DoorStartParams params)
Определения ContainerLocked.c:208
ContainerLockedBase BuildingSuper GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:110
override void OnStoreSave(ParamsWriteContext ctx)
Определения ContainerLocked.c:123
override void OnDoorLocked(DoorLockParams params)
Определения ContainerLocked.c:175
override bool OnStoreLoad(ParamsReadContext ctx, int version)
Определения ContainerLocked.c:131
int m_OpeningMask
Определения ContainerLocked.c:112
void ContainerLockedBase()
Определения ContainerLocked.c:114
override void OnDoorUnlocked(DoorLockParams params)
Определения ContainerLocked.c:186
override void OnDoorCloseStart(DoorStartParams params)
Определения ContainerLocked.c:201
void HandleDoorLoad()
Определения ContainerLocked.c:144
EBuildingLockType
Определения EBuildingLockTypes.c:2
Определения FuelStation.c:2
override int GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:134
override int GetLockCompatibilityType(int doorIdx)
Определения ContainerLocked.c:118
static EffectSound PlaySoundEnviroment(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound, updating environment variables.
Определения EffectManager.c:228
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
proto bool Write(void value_out)
proto bool Read(void value_in)
Serializer ParamsReadContext
Определения gameplay.c:15
proto native CGame GetGame()
Serializer ParamsWriteContext
Определения gameplay.c:16
static proto string Format(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
Gets n-th character from string.