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

◆ OnDoorOpenStart()

override void GetLockCompatibilityType::OnDoorOpenStart ( DoorStartParams params)
protected

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

209{
210 protected int m_LockedMask = 0;
211 protected int m_OpeningMask = 0;
212
214 {
215 int count = GetDoorCount();
216 for (int i = 0; i < count; i++)
217 {
218 LockDoor(i);
219 }
220 }
221
222 override void OnStoreSave(ParamsWriteContext ctx)
223 {
224 super.OnStoreSave(ctx);
225
226 ctx.Write(m_LockedMask);
227 ctx.Write(m_OpeningMask);
228 }
229
230 override bool OnStoreLoad(ParamsReadContext ctx, int version)
231 {
232 if (!super.OnStoreLoad(ctx, version))
233 return false;
234
235 ctx.Read(m_LockedMask);
236 ctx.Read(m_OpeningMask);
237
239
240 return true;
241 }
242
243 protected void HandleDoorLoad()
244 {
245 int count = GetDoorCount();
246 int i;
247
248 //locking
249 for (i = 0; i < count; i++)
250 {
251 if (m_LockedMask & (1 << i))
252 {
253 LockDoor(i,true);
254 }
255 else
256 {
257 UnlockDoor(i);
258 }
259 }
260
261 //then opening
262 for (i = 0; i < count; i++)
263 {
264 if (m_OpeningMask & (1 << i) && !IsDoorLocked(i))
265 {
266 OpenDoor(i);
267 }
268 }
269 }
270
272 //events
273
274 override void OnDoorLocked(DoorLockParams params)
275 {
276 super.OnDoorLocked(params);
277
278 m_LockedMask |= 1 << params.param1;
279
280
281 string selectionName = string.Format("side%1_lock",(params.param1 + 1));
282 SetAnimationPhase(selectionName,0);
283 }
284
285 override void OnDoorUnlocked(DoorLockParams params)
286 {
287 super.OnDoorUnlocked(params);
288
289 int doorIdx = params.param1;
290
291 m_LockedMask &= ~(1 << doorIdx);
292
293 string selectionName = string.Format("side%1_lock",(doorIdx + 1));
294 SetAnimationPhase(selectionName,1);
295
296 if (!GetGame().IsDedicatedServer())
297 SEffectManager.PlaySoundEnviroment("Land_ContainerLocked_lock_SoundSet",GetDoorSoundPos(doorIdx));
298 }
299
300 override void OnDoorCloseStart(DoorStartParams params)
301 {
302 super.OnDoorCloseStart(params);
303
304 m_OpeningMask &= ~(1 << params.param1);
305 }
306
307 override void OnDoorOpenStart(DoorStartParams params)
308 {
309 super.OnDoorOpenStart(params);
310
311 m_OpeningMask |= 1 << params.param1;
312 }
313}
314
315class Land_ContainerLocked_Blue_DE : ContainerLockedBase
316{
317 override int GetLockCompatibilityType(int doorIdx)
318 {
319 return 1 << EBuildingLockType.SHIP_CONTAINER_0;
320 }
321}
322
324{
325 override int GetLockCompatibilityType(int doorIdx)
326 {
327 return 1 << EBuildingLockType.SHIP_CONTAINER_1;
328 }
329}
330
331class Land_ContainerLocked_Orange_DE : ContainerLockedBase
332{
333 override int GetLockCompatibilityType(int doorIdx)
334 {
335 return 1 << EBuildingLockType.SHIP_CONTAINER_2;
336 }
337}
338
340{
341 override int GetLockCompatibilityType(int doorIdx)
342 {
343 return 1 << EBuildingLockType.SHIP_CONTAINER_3;
344 }
345}
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.