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

◆ OnDoorUnlocked()

override void GetLockCompatibilityType::OnDoorUnlocked ( DoorLockParams params)
protected

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

187{
188 protected int m_LockedMask = 0;
189 protected int m_OpeningMask = 0;
190
192 {
193 int count = GetDoorCount();
194 for (int i = 0; i < count; i++)
195 {
196 LockDoor(i);
197 }
198 }
199
200 override void OnStoreSave(ParamsWriteContext ctx)
201 {
202 super.OnStoreSave(ctx);
203
204 ctx.Write(m_LockedMask);
205 ctx.Write(m_OpeningMask);
206 }
207
208 override bool OnStoreLoad(ParamsReadContext ctx, int version)
209 {
210 if (!super.OnStoreLoad(ctx, version))
211 return false;
212
213 ctx.Read(m_LockedMask);
214 ctx.Read(m_OpeningMask);
215
217
218 return true;
219 }
220
221 protected void HandleDoorLoad()
222 {
223 int count = GetDoorCount();
224 int i;
225
226 //locking
227 for (i = 0; i < count; i++)
228 {
229 if (m_LockedMask & (1 << i))
230 {
231 LockDoor(i,true);
232 }
233 else
234 {
235 UnlockDoor(i);
236 }
237 }
238
239 //then opening
240 for (i = 0; i < count; i++)
241 {
242 if (m_OpeningMask & (1 << i) && !IsDoorLocked(i))
243 {
244 OpenDoor(i);
245 }
246 }
247 }
248
250 //events
251
252 override void OnDoorLocked(DoorLockParams params)
253 {
254 super.OnDoorLocked(params);
255
256 m_LockedMask |= 1 << params.param1;
257
258
259 string selectionName = string.Format("side%1_lock",(params.param1 + 1));
260 SetAnimationPhase(selectionName,0);
261 }
262
263 override void OnDoorUnlocked(DoorLockParams params)
264 {
265 super.OnDoorUnlocked(params);
266
267 int doorIdx = params.param1;
268
269 m_LockedMask &= ~(1 << doorIdx);
270
271 string selectionName = string.Format("side%1_lock",(doorIdx + 1));
272 SetAnimationPhase(selectionName,1);
273
274 if (!GetGame().IsDedicatedServer())
275 SEffectManager.PlaySoundEnviroment("Land_ContainerLocked_lock_SoundSet",GetDoorSoundPos(doorIdx));
276 }
277
278 override void OnDoorCloseStart(DoorStartParams params)
279 {
280 super.OnDoorCloseStart(params);
281
282 m_OpeningMask &= ~(1 << params.param1);
283 }
284
285 override void OnDoorOpenStart(DoorStartParams params)
286 {
287 super.OnDoorOpenStart(params);
288
289 m_OpeningMask |= 1 << params.param1;
290 }
291}
292
293class Land_ContainerLocked_Blue_DE : ContainerLockedBase
294{
295 override int GetLockCompatibilityType(int doorIdx)
296 {
297 return 1 << EBuildingLockType.SHIP_CONTAINER_0;
298 }
299}
300
302{
303 override int GetLockCompatibilityType(int doorIdx)
304 {
305 return 1 << EBuildingLockType.SHIP_CONTAINER_1;
306 }
307}
308
309class Land_ContainerLocked_Orange_DE : ContainerLockedBase
310{
311 override int GetLockCompatibilityType(int doorIdx)
312 {
313 return 1 << EBuildingLockType.SHIP_CONTAINER_2;
314 }
315}
316
318{
319 override int GetLockCompatibilityType(int doorIdx)
320 {
321 return 1 << EBuildingLockType.SHIP_CONTAINER_3;
322 }
323}
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.