DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
missionGameplay.c
См. документацию.
2{
5
7
9 ImageWidget m_MicrophoneIcon;
10
14 ref IngameHud m_Hud;
16 ref LogoutMenu m_Logout;
19
21
22 protected ref GameplayEffectWidgets m_EffectWidgets;
23
25 ref WidgetFadeTimer m_ChatChannelFadeTimer;
26 ref WidgetFadeTimer m_MicFadeTimer;
27
30 NoteMenu m_Note;
31
32 protected ref Timer m_ToggleHudTimer;
33 protected const int HOLD_LIMIT_TIME = 300; //ms
34 protected int m_ActionDownTime;
35 protected int m_ActionUpTime;
36 protected bool m_InitOnce;
37 protected bool m_ControlDisabled; //DEPRECATED; disabled mode stored below
38 protected int m_ControlDisabledMode;
39 protected ref array<string> m_ActiveInputExcludeGroups; //exclude groups defined in 'specific.xml' file
40 protected ref array<int> m_ActiveInputRestrictions; //additional scripted restrictions
41 protected bool m_ProcessInputExcludes;
42 protected bool m_QuickbarHold;
43 protected bool m_PlayerRespawning;
44 protected int m_RespawnModeClient; //for client-side usage
45 protected bool m_PauseQueued;
46
47 // von control info
48 protected bool m_VoNActive;
52
53 protected bool m_InputBufferFull;
55
57
58 #ifndef BULDOZER
59 #ifdef DIAG_DEVELOPER
61 #endif
62 #endif
63
65 {
67 m_Initialized = false;
68 m_EffectWidgets = new GameplayEffectWidgets;
69 m_HudRootWidget = null;
70 m_Chat = new Chat;
72 m_LifeState = -1;
73 m_Hud = new IngameHud;
74 m_VoNActive = false;
75 m_PauseQueued = false;
76 m_ChatChannelFadeTimer = new WidgetFadeTimer;
77 m_MicFadeTimer = new WidgetFadeTimer;
80
81 m_ActiveRefresherLocations = new array<vector>;
83 }
84
86 {
88 #ifndef NO_GUI
89 if (g_Game.GetUIManager() && g_Game.GetUIManager().ScreenFadeVisible())
90 {
91 g_Game.GetUIManager().ScreenFadeOut(0);
92 }
93 Continue();
94 #endif
95 }
96
101
102 override void OnInit()
103 {
104 super.OnInit();
105
106 if ( m_Initialized )
107 {
108 return;
109 }
110
111 #ifndef BULDOZER
112 #ifdef DIAG_DEVELOPER
113 if (!g_Game.IsMultiplayer())//to make it work in single during development
114 {
118 }
119 #endif
120 #endif
121
122 PPEffects.Init(); //DEPRECATED, left in for legacy purposes only
124
125 m_UIManager = g_Game.GetUIManager();
126
127 m_Initialized = true;
128
129 // init hud ui
130 if ( !m_HudRootWidget )
131 {
132 m_HudRootWidget = g_Game.GetWorkspace().CreateWidgets("gui/layouts/day_z_hud.layout");
133
134 m_HudRootWidget.Show(false);
135
136 m_Chat.Init(m_HudRootWidget.FindAnyWidget("ChatFrameWidget"));
137
138 m_ActionMenu.Init( m_HudRootWidget.FindAnyWidget("ActionsPanel"), TextWidget.Cast( m_HudRootWidget.FindAnyWidget("DefaultActionWidget") ) );
139
140 m_Hud.Init( m_HudRootWidget.FindAnyWidget("HudPanel") );
141
142 // von enabled icon
143 m_MicrophoneIcon = ImageWidget.Cast( m_HudRootWidget.FindAnyWidget("mic") );
144 m_MicrophoneIcon.Show(false);
145
146 // von voice level
147 m_VoiceLevels = m_HudRootWidget.FindAnyWidget("VoiceLevelsPanel");
148 m_VoiceLevelsWidgets = new map<int, ImageWidget>; // [key] voice level
149 m_VoiceLevelTimers = new map<int,ref WidgetFadeTimer>; // [key] voice level
150
151 if ( m_VoiceLevels )
152 {
153 m_VoiceLevelsWidgets.Set(VoiceLevelWhisper, ImageWidget.Cast( m_VoiceLevels.FindAnyWidget("Whisper") ));
154 m_VoiceLevelsWidgets.Set(VoiceLevelTalk, ImageWidget.Cast( m_VoiceLevels.FindAnyWidget("Talk") ));
155 m_VoiceLevelsWidgets.Set(VoiceLevelShout, ImageWidget.Cast( m_VoiceLevels.FindAnyWidget("Shout") ));
156
157 m_VoiceLevelTimers.Set(VoiceLevelWhisper, new WidgetFadeTimer);
158 m_VoiceLevelTimers.Set(VoiceLevelTalk, new WidgetFadeTimer);
159 m_VoiceLevelTimers.Set(VoiceLevelShout, new WidgetFadeTimer);
160 }
161
163
164 // chat channel
165 m_ChatChannelArea = m_HudRootWidget.FindAnyWidget("ChatChannelPanel");
166 m_ChatChannelText = TextWidget.Cast( m_HudRootWidget.FindAnyWidget("ChatChannelText") );
167 }
168
169 // init hud ui
170 #ifdef DEVELOPER
171 m_HudDebug = new HudDebug;
172
173 if ( !m_HudDebug.IsInitialized() )
174 {
175 m_HudDebug.Init( g_Game.GetWorkspace().CreateWidgets("gui/layouts/debug/day_z_hud_debug.layout") );
176 PluginConfigDebugProfile.GetInstance().SetLogsEnabled(LogManager.IsLogsEnable());
177 }
178 #endif
179
180 // experimental hud watermark
181 #ifndef DIAG_DEVELOPER
182 #ifdef BUILD_EXPERIMENTAL
183 m_Watermark = new Watermark();
184 #endif
185 #endif
186 }
187
189 {
190 return m_UIManager;
191 }
192
193 override void OnMissionStart()
194 {
195 g_Game.SetConnecting(false);
196
197#ifndef FEATURE_CURSOR
199 GetUIManager().ShowUICursor(false);
200#endif
201
202 g_Game.SetMissionState(DayZGame.MISSION_STATE_GAME);
203
204 #ifndef BULDOZER
205 #ifdef DIAG_DEVELOPER
206 if (!g_Game.IsMultiplayer())
207 {
208 // We will load the Effect areas on Default mission start
212 }
213 #endif
214 #endif
215 }
216
218 {
219 if ( !m_InventoryMenu )
220 {
221 m_InventoryMenu = InventoryMenu.Cast( GetUIManager().CreateScriptedMenu(MENU_INVENTORY, null) );
222 }
223 }
224
225 void TickScheduler(float timeslice)
226 {
227 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
228
229 if( player )
230 player.OnScheduledTick(timeslice);
231
232 if (g_Game.m_AutotestEnabled)
233 {
234 if (!AutotestRunner.IsDone())
235 {
238
239 AutotestRunner.Update(timeslice);
240 }
241 else
242 {
243 g_Game.RequestExit(0);
244 }
245 }
246 }
247
249 {
250 if( mute_list && mute_list.Count() > 0 )
251 {
252 ScriptRPC rpc = new ScriptRPC();
253 rpc.Write(mute_list);
254 rpc.Send(null, ERPCs.RPC_USER_SYNC_PERMISSIONS, true, null);
255 }
256 }
257
259 {
260 super.UpdateInputDevicesAvailability();
261
262 g_Game.GetInput().UpdateConnectedInputDeviceList();
263 g_Game.UpdateInputDeviceDisconnectWarning();
264 }
265
266 override void OnMissionFinish()
267 {
268 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
269
270 //Print("OnMissionFinish");
273
274 m_Chat.Destroy();
275 delete m_HudRootWidget;
276
277 if (m_DebugMonitor)
278 m_DebugMonitor.Hide();
279#ifndef FEATURE_CURSOR
280 g_Game.GetUIManager().ShowUICursor(false);
281#endif
284 g_Game.SetMissionState( DayZGame.MISSION_STATE_FINNISH );
285 }
286
287 override void OnUpdate(float timeslice)
288 {
289#ifdef DIAG_DEVELOPER
290 UpdateInputDeviceDiag();
291#endif
292
293#ifdef FEATURE_CURSOR
294 if (GetTimeStamp() == 0)
295 {
296 if (!g_Game.IsAppActive() || IsCLIParam("launchPaused"))
297 {
298 m_PauseQueued = true;
299 }
300 else
301 {
303 GetUIManager().ShowUICursor(false);
304 }
305 }
306#endif
307
308 if (m_PauseQueued && !IsPaused())
309 {
310 Pause();
311 }
312
313 Man player = g_Game.GetPlayer();
314 PlayerBase playerPB = PlayerBase.Cast(player);
315 TickScheduler(timeslice);
316 UpdateDummyScheduler();//for external entities
317 UIScriptedMenu menu = m_UIManager.GetMenu();
318 InventoryMenu inventory = InventoryMenu.Cast( m_UIManager.FindMenu(MENU_INVENTORY) );
319 NoteMenu note_menu = NoteMenu.Cast( m_UIManager.FindMenu(MENU_NOTE) );
320 GesturesMenu gestures_menu = GesturesMenu.Cast(m_UIManager.FindMenu(MENU_GESTURES));
321 RadialQuickbarMenu quickbar_menu = RadialQuickbarMenu.Cast(m_UIManager.FindMenu(MENU_RADIAL_QUICKBAR));
322 InspectMenuNew inspect = InspectMenuNew.Cast( m_UIManager.FindMenu(MENU_INSPECT) );
323 Input input = g_Game.GetInput();
324 ActionBase runningAction;
325 bool manualInputUnlockProcessed = false;
326
327 Hologram localPlacingHologram;
328 if (playerPB)
329 {
330 #ifdef DIAG_DEVELOPER
331 if (DiagMenu.GetBool(DiagMenuIDs.MISC_HOLOGRAM))
332 {
333 DbgUI.Begin("Hologram Debug", 5, 5);
334 }
335 #endif
336
337 localPlacingHologram = playerPB.GetHologramLocal();
338 if (localPlacingHologram)
339 {
340 localPlacingHologram.UpdateHologram(timeslice);
341 }
342 #ifdef DIAG_DEVELOPER
343 else if (DiagMenu.GetBool(DiagMenuIDs.MISC_HOLOGRAM))
344 {
345 DbgUI.Text("No active Hologram");
346 }
347
348 if (DiagMenu.GetBool(DiagMenuIDs.MISC_HOLOGRAM))
349 {
350 DbgUI.End();
351 }
352 #endif
353
354 runningAction = playerPB.GetActionManager().GetRunningAction();
355 }
356
357#ifdef PLATFORM_CONSOLE
358 //'Special behaviour' for colliding VON distance input actions [CONSOLE ONLY]
359 if (GetUApi().GetInputByID(UAVoiceModifierHelper).LocalValue() && !menu)
360 {
361 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Lock();
362 GetUApi().GetInputByID(UAZoomInToggle).Lock();
363 GetUApi().GetInputByID(UAPersonView).Lock();
364 GetUApi().GetInputByID(UALeanLeft).Lock();
365 GetUApi().GetInputByID(UALeanRight).Lock();
366 }
367 else if (GetUApi().GetInputByID(UAVoiceModifierHelper).LocalRelease()) //unlocks on release, if already excluded, all the other inputs should be locked/unlocked in the exclude (if defined properly!)
368 {
369 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Unlock();
370 GetUApi().GetInputByID(UAZoomInToggle).Unlock();
371 GetUApi().GetInputByID(UAPersonView).Unlock();
372 if (playerPB && !playerPB.IsSprinting())
373 {
374 GetUApi().GetInputByID(UALeanLeft).Unlock();
375 GetUApi().GetInputByID(UALeanRight).Unlock();
376 }
377
378 manualInputUnlockProcessed = true;
379 }
380
381 //Radial quickbar
382 if (GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalPress() && playerPB)
383 {
384 //open quickbar menu
385 if ( playerPB.IsAlive() && !playerPB.IsRaised() && !playerPB.IsUnconscious() && !playerPB.GetCommand_Vehicle() ) //player hands not raised, player is not in prone and player is not interacting with vehicle
386 {
387 if ( !GetUIManager().IsMenuOpen( MENU_RADIAL_QUICKBAR ) )
388 {
389 RadialQuickbarMenu.OpenMenu();
390 }
391 }
392 }
393
394 bool b1 = RadialQuickbarMenu.GetItemToAssign() != null;
395 //close quickbar menu from world
396 if (GetUIManager().IsMenuOpen( MENU_RADIAL_QUICKBAR ) && (!RadialQuickbarMenu.GetMenuInstance().GetParentMenu() || RadialQuickbarMenu.GetMenuInstance().GetParentMenu() != inventory) && (GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalRelease() || !GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalValue()))
397 {
398 RadialQuickbarMenu.CloseMenu();
399 }
400
401 //Radial Quickbar from inventory
402 if ((RadialQuickbarMenu.instance && RadialQuickbarMenu.GetMenuInstance().GetParentMenu() && RadialQuickbarMenu.GetMenuInstance().GetParentMenu() == inventory) && GetUApi().GetInputByID(UAUIQuickbarRadialInventoryOpen).LocalRelease())
403 {
404 //close radial quickbar menu
405 if (g_Game.GetUIManager().IsMenuOpen(MENU_RADIAL_QUICKBAR))
406 {
407 RadialQuickbarMenu.CloseMenu();
408 RadialQuickbarMenu.SetItemToAssign(NULL);
409
410 if (g_Game.GetUIManager().IsMenuOpen(MENU_INVENTORY))
411 {
412 AddActiveInputExcludes({"inventory"});
413 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
414 }
415 }
416 }
417
418 if (playerPB)
419 {
420 //Special behaviour for leaning [CONSOLE ONLY]
421 if (playerPB.IsRaised() || playerPB.IsInRasedProne())
422 {
423 GetUApi().GetInputByID(UALeanLeftGamepad).Unlock();
424 GetUApi().GetInputByID(UALeanRightGamepad).Unlock();
425
426 manualInputUnlockProcessed = true;
427 }
428 else if (!GetUApi().GetInputByID(UALeanLeftGamepad).IsLocked() || !GetUApi().GetInputByID(UALeanRightGamepad).IsLocked())
429 {
430 GetUApi().GetInputByID(UALeanLeftGamepad).Lock();
431 GetUApi().GetInputByID(UALeanRightGamepad).Lock();
432 }
433
434 //Special behaviour for freelook & zeroing [CONSOLE ONLY]
435 if (playerPB.IsRaised())
436 {
437 GetUApi().GetInputByID(UALookAround).Lock(); //disable freelook
438 GetUApi().GetInputByID(UALookAroundToggle).Lock(); //disable freelook
439
440 GetUApi().GetInputByID(UAZeroingUp).Unlock(); //enable zeroing
441 GetUApi().GetInputByID(UAZeroingDown).Unlock();
442
443 manualInputUnlockProcessed = true;
444 }
445 else
446 {
447 GetUApi().GetInputByID(UALookAround).Unlock(); //enable freelook
448 GetUApi().GetInputByID(UALookAroundToggle).Unlock(); //enable freelook
449
450 GetUApi().GetInputByID(UAZeroingUp).Lock(); //disable zeroing
451 GetUApi().GetInputByID(UAZeroingDown).Lock();
452
453 manualInputUnlockProcessed = true;
454 }
455 }
456
458 {
460 }
461#endif
462
463 if (manualInputUnlockProcessed)
464 {
466 }
467
468 //Gestures
469 if ( GetUApi().GetInputByID(UAUIGesturesOpen).LocalPress() && playerPB)
470 {
471 //open gestures menu
472 if ( !playerPB.IsRaised() && (playerPB.GetActionManager().ActionPossibilityCheck(playerPB.m_MovementState.m_CommandTypeId) || playerPB.IsEmotePlaying()) && !playerPB.GetCommand_Vehicle() )
473 {
474 if (GesturesMenu.CanOpenMenu() && !GetUIManager().IsMenuOpen(MENU_GESTURES))
475 {
476 GesturesMenu.OpenMenu();
477 m_Hud.ShowHudUI(false);
478 }
479 }
480 }
481
482 if ( GetUApi().GetInputByID(UAUIGesturesOpen).LocalRelease() || GetUApi().GetInputByID(UAUIGesturesOpen).LocalValue() == 0 )
483 {
484 //close gestures menu
485 if ( GetUIManager().IsMenuOpen( MENU_GESTURES ) )
486 {
487 GesturesMenu.CloseMenu();
488 m_Hud.ShowHudUI( true );
489 }
490 }
491
492 if (player && m_LifeState == EPlayerStates.ALIVE && !player.IsUnconscious() )
493 {
494 // enables HUD on spawn
495 if (m_HudRootWidget)
496 {
497 m_HudRootWidget.Show(true);
498 }
499
500 #ifndef NO_GUI
501 // fade out black screen
502
503 if ( GetUIManager().ScreenFadeVisible() )
504 {
506 }
507
508 #endif
509
510 if (GetUApi().GetInputByID(UAGear).LocalPress())
511 {
512 if (!inventory && playerPB.CanManipulateInventory() && IsMapUnfoldActionRunning(runningAction))
513 {
515 menu = m_InventoryMenu;
516 }
517 else if (menu == inventory && m_InventoryMenu && m_InventoryMenu.IsOpened())
518 {
520 }
521 }
522
523 if (GetUApi().GetInputByID(UAUIMenu).LocalPress() && menu && inventory && menu == inventory)
524 {
526 }
527
528 #ifndef PLATFORM_CONSOLE
529 if (GetUApi().GetInputByID(UAChat).LocalPress() && input.IsEnabledMouseAndKeyboardEvenOnServer())
530 {
531 ChatInputMenu chat = ChatInputMenu.Cast( m_UIManager.FindMenu(MENU_CHAT) );
532 if ( menu == NULL )
533 {
534 ShowChat();
535 }
536 }
537 #endif
538
539 // voice level updated
541
542 if (GetUApi().GetInputByID(UAUIQuickbarToggle).LocalHold())
543 {
544 if (!m_QuickbarHold)
545 {
546 m_QuickbarHold = true;
547 m_Hud.ShowHudPlayer(m_Hud.GetHudVisibility().IsContextFlagActive(EHudContextFlags.HUD_HIDE));
548 }
549 }
550
551 if (GetUApi().GetInputByID(UAUIQuickbarToggle).LocalRelease())
552 {
553 if (!m_QuickbarHold)
554 {
555 m_Hud.ShowQuickbarPlayer(m_Hud.GetHudVisibility().IsContextFlagActive(EHudContextFlags.QUICKBAR_HIDE));
556 }
557 m_QuickbarHold = false;
558 }
559
560 if (GetUApi().GetInputByID(UAZeroingUp).LocalPress() || GetUApi().GetInputByID(UAZeroingDown).LocalPress() || GetUApi().GetInputByID(UAToggleWeapons).LocalPress())
561 {
562 m_Hud.ZeroingKeyPress();
563 }
564
565 if (menu == NULL)
566 {
567 m_ActionMenu.Refresh();
568
569 if (GetUApi().GetInputByID(UANextActionCategory).LocalPress())
570 {
571 m_ActionMenu.NextActionCategory();
572 }
573 else if (GetUApi().GetInputByID(UAPrevActionCategory).LocalPress())
574 {
575 m_ActionMenu.PrevActionCategory();
576 }
577 else if (GetUApi().GetInputByID(UANextAction).LocalPress())
578 {
579 m_ActionMenu.NextAction();
580 }
581 else if (GetUApi().GetInputByID(UAPrevAction).LocalPress())
582 {
583 m_ActionMenu.PrevAction();
584 }
585 }
586 else
587 {
588 m_ActionMenu.Hide();
589 }
590
591 //hologram rotation
592 localPlacingHologram = playerPB.GetHologramLocal();
593 if (menu == null && playerPB.IsPlacingLocal() && localPlacingHologram && localPlacingHologram.GetParentEntity() && localPlacingHologram.GetParentEntity().PlacementCanBeRotated())
594 {
595 if (GetUApi().GetInputByID(UANextAction).LocalRelease())
596 {
597 localPlacingHologram.SubtractProjectionRotation(15);
598 }
599
600 if (GetUApi().GetInputByID(UAPrevAction).LocalRelease())
601 {
602 localPlacingHologram.AddProjectionRotation(15);
603 }
604 }
605
607 {
608 if (GetUApi().GetInputByID(UAMapToggle).LocalPress() && !m_UIManager.GetMenu())
609 {
610 if (IsMapUnfoldActionRunning(runningAction))
611 {
613 }
614 }
615 }
616 }
617
618 // life state check
619 if (player)
620 {
621 int life_state = player.GetPlayerState();
622 m_LifeState = life_state;
623 }
624
625 if (menu && !menu.UseKeyboard() && menu.UseMouse())
626 {
627 int i;
628 for (i = 0; i < 5; i++)
629 {
633 }
634
635 for (i = 0; i < 6; i++)
636 {
638 }
639 }
640
641 if (!m_UIManager.IsDialogVisible())
642 {
643 if (menu)
644 {
645 if (menu == inspect)
646 {
647 if (GetUApi().GetInputByID(UAGear).LocalPress())
648 {
650 {
652 }
653 }
654 else if (GetUApi().GetInputByID(UAUIBack).LocalPress())
655 {
657 {
659 }
660 }
661 }
662 else if (menu == note_menu && (!IsInputExcludeActive("inventory") || !IsInputRestrictionActive(EInputRestrictors.INVENTORY)))
663 {
664 AddActiveInputExcludes({"inventory"});
665 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
666 }
667 else if (menu == gestures_menu && !gestures_menu.IsMenuClosing() && !IsInputExcludeActive("radialmenu"))
668 {
669 AddActiveInputExcludes({"radialmenu"});
670 GetUApi().GetInputByID(UAUIGesturesOpen).Unlock();
671 }
672 else if (menu == quickbar_menu && !quickbar_menu.IsMenuClosing() && !IsInputExcludeActive("radialmenu"))
673 {
674 AddActiveInputExcludes({"radialmenu"});
675 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Unlock();
676 }
677 else if (IsPaused())
678 {
679 InGameMenuXbox menu_xb = InGameMenuXbox.Cast(g_Game.GetUIManager().GetMenu());
680 if (!g_Game.GetUIManager().ScreenFadeVisible() && (!menu_xb || !menu_xb.IsOnlineOpen() && !menu_xb.FeedbackDialogVisible()))
681 {
682 if (GetUApi().GetInputByID(UAUIMenu).LocalPress())
683 {
684 Continue();
685 }
686 else if (GetUApi().GetInputByID(UAUIBack).LocalPress())
687 {
688 Continue();
689 }
690 }
691 else if (GetUApi().GetInputByID(UAUIBack).LocalPress())
692 {
693 if (menu_xb && menu_xb.IsOnlineOpen())
694 {
695 menu_xb.CloseOnline();
696 }
697 }
698 }
699 }
700 else if (GetUApi().GetInputByID(UAUIMenu).LocalPress())
701 {
702 if (IsMapUnfoldActionRunning(runningAction))
703 {
704 Pause();
705 }
706 }
707 }
708
710
712
713 if (!g_Game.IsMultiplayer())
714 m_WorldData.UpdateBaseEnvTemperature( timeslice );
715
716 #ifndef BULDOZER
717 #ifdef DIAG_DEVELOPER
718 if (!GetGame().IsMultiplayer())
719 {
720 m_BunkerBroadcastHandler.Update(timeslice);
721 }
722 #endif
723 #endif
724
725#ifdef DIAG_DEVELOPER
727#endif
729 {
732 }
733
734#ifdef DEVELOPER
735 if (m_HudDebug)
736 m_HudDebug.Update(timeslice);
737#endif
738
739 super.OnUpdate( timeslice );
740 }
741
742 override void OnKeyPress(int key)
743 {
744 super.OnKeyPress(key);
745 m_Hud.KeyPress(key);
746
747 DigitalCodeLockUIBase codeLockUI;
748 if (Class.CastTo(codeLockUI, GetGame().GetUIManager().FindMenu(MENU_DIGITAL_CODELOCK)))
749 codeLockUI.KeyPress(key);
750 }
751
752 override void OnKeyRelease(int key)
753 {
754 super.OnKeyRelease(key);
755 }
756
757 override void OnEvent(EventType eventTypeId, Param params)
758 {
759 super.OnEvent(eventTypeId, params);
760 InventoryMenu menu;
761 Man player = g_Game.GetPlayer();
762
763 switch (eventTypeId)
764 {
766 ChatMessageEventParams chat_params = ChatMessageEventParams.Cast( params );
767 if (m_LifeState == EPlayerStates.ALIVE)
768 {
769 m_Chat.Add(chat_params);
770 }
771 break;
772
774 ChatChannelEventParams cc_params = ChatChannelEventParams.Cast( params );
775 ChatInputMenu chatMenu = ChatInputMenu.Cast( GetUIManager().FindMenu(MENU_CHAT_INPUT) );
776 if (chatMenu)
777 {
778 chatMenu.UpdateChannel();
779 }
780 else
781 {
782 m_ChatChannelText.SetText(ChatInputMenu.GetChannelName(cc_params.param1));
783 m_ChatChannelFadeTimer.FadeIn(m_ChatChannelArea, 0.5, true);
784 m_ChatChannelHideTimer.Run(2, m_ChatChannelFadeTimer, "FadeOut", new Param3<Widget, float, bool>(m_ChatChannelArea, 0.5, true));
785 }
786 break;
787
788 case WindowsResizeEventTypeID:
790 m_Hud.OnResizeScreen();
791
792 break;
793
795 SetFreeCameraEventParams set_free_camera_event_params = SetFreeCameraEventParams.Cast( params );
796 PluginDeveloper plugin_developer = PluginDeveloper.Cast( GetPlugin(PluginDeveloper) );
797 plugin_developer.OnSetFreeCameraEvent( PlayerBase.Cast( player ), set_free_camera_event_params.param1 );
798 break;
800 NetworkInputBufferEventParams networkInputBufferParams = NetworkInputBufferEventParams.Cast(params);
801 if (networkInputBufferParams)
802 {
803 OnInputBufferEvent(networkInputBufferParams.param1);
804 }
805 break;
806 }
807 }
808
809 override void OnItemUsed(InventoryItem item, Man owner)
810 {
811 if (item && GetUIManager().GetMenu() == NULL)
812 {
813 if (item.IsInherited(ItemBook))
814 {
815 BookMenu bookMenu = BookMenu.Cast( GetUIManager().EnterScriptedMenu(MENU_BOOK, NULL) );
816 if (bookMenu)
817 {
818 bookMenu.ReadBook(item);
819 }
820 }
821 }
822 }
823
824#ifdef DEVELOPER
825 override void SetInputSuppression(bool state)
826 {
827 m_SuppressNextFrame = state;
828 }
829
830 override bool GetInputSuppression()
831 {
832 return m_SuppressNextFrame;
833 }
834#endif
835
837 override void PlayerControlEnable( bool bForceSupress )
838 {
839 super.PlayerControlEnable(bForceSupress);
840
841 if (m_ControlDisabledMode != -1)
842 {
843 switch (m_ControlDisabledMode)
844 {
846 {
847 RemoveActiveInputExcludes({"menu"},bForceSupress);
848 break;
849 }
851 {
852 RemoveActiveInputExcludes({"inventory"},bForceSupress);
853 RemoveActiveInputRestriction(EInputRestrictors.INVENTORY);
854 break;
855 }
857 {
858 RemoveActiveInputExcludes({"loopedactions"},bForceSupress);
859 RemoveActiveInputRestriction(EInputRestrictors.MAP);
860 break;
861 }
863 {
864 RemoveActiveInputExcludes({"radialmenu"},bForceSupress);
865 break;
866 }
868 {
869 RemoveActiveInputExcludes({"radialmenu"},bForceSupress);
870 break;
871 }
872 }
873
875
876 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
877 if (player)
878 {
879 HumanInputController hic = player.GetInputController();
880 hic.LimitsDisableSprint(false);
881 }
882 }
883 }
884
886 override void PlayerControlDisable(int mode)
887 {
888 super.PlayerControlDisable(mode);
889
890 switch (mode)
891 {
893 {
894 AddActiveInputExcludes({"menu"});
895 break;
896 }
898 {
899 AddActiveInputExcludes({"inventory"});
900 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
901 break;
902 }
904 {
905 AddActiveInputExcludes({"loopedactions"});
906 AddActiveInputRestriction(EInputRestrictors.MAP);
907 break;
908 }
910 {
911 AddActiveInputExcludes({"radialmenu"});
912 break;
913 }
915 {
916 AddActiveInputExcludes({"radialmenu"});
917 break;
918 }
919 default:
920 {
921 Debug.Log("Unknown controls disable mode");
922 return;
923 }
924 }
925
927
928 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
929 if ( player )
930 {
931 ItemBase item = player.GetItemInHands();
932 if (item && item.IsWeapon())
933 player.RequestResetADSSync();
934 }
935 }
936
938 override void RemoveActiveInputExcludes(array<string> excludes, bool bForceSupress = false)
939 {
940 super.RemoveActiveInputExcludes(excludes,bForceSupress);
941
942 if (excludes.Count() != 0)
943 {
944 bool changed = false;
945
947 {
948 foreach (string excl : excludes)
949 {
950 if (m_ActiveInputExcludeGroups.Find(excl) != -1)
951 {
952 m_ActiveInputExcludeGroups.RemoveItem(excl);
953 changed = true;
954 }
955 }
956
957 if (changed)
958 {
960 }
961 }
962
963 // supress control for next frame
964 GetUApi().SupressNextFrame(bForceSupress);
965 }
966 }
967
969 override void RemoveActiveInputRestriction(int restrictor)
970 {
971 //unique behaviour outside regular excludes
972 if (restrictor > -1)
973 {
974 switch (restrictor)
975 {
976 case EInputRestrictors.INVENTORY:
977 {
978 GetUApi().GetInputByID(UAWalkRunForced).ForceEnable(false); // force walk off!
979 break;
980 }
981 case EInputRestrictors.MAP:
982 {
983 GetUApi().GetInputByID(UAWalkRunForced).ForceEnable(false); // force walk off!
984 break;
985 }
986 case EInputRestrictors.SURRENDER_TRANSITION:
987 {
988 GetUApi().GetInputByID(UATempRaiseWeapon).ForceDisable(false);
989 break;
990 }
991 }
992
993 if (m_ActiveInputRestrictions && m_ActiveInputRestrictions.Find(restrictor) != -1)
994 {
995 m_ActiveInputRestrictions.RemoveItem(restrictor);
996 }
997 }
998 }
999
1002 {
1003 super.AddActiveInputExcludes(excludes);
1004
1005 if (excludes.Count() != 0)
1006 {
1007 bool changed = false;
1009 {
1011 }
1012
1013 foreach (string excl : excludes)
1014 {
1015 if (m_ActiveInputExcludeGroups.Find(excl) == -1)
1016 {
1017 m_ActiveInputExcludeGroups.Insert(excl);
1018 changed = true;
1019 }
1020 }
1021
1022 if (changed)
1023 {
1025 #ifdef BULDOZER
1026 GetUApi().SupressNextFrame(true);
1027 #endif
1028 }
1029 }
1030 }
1031
1033 override void AddActiveInputRestriction(int restrictor)
1034 {
1035 //unique behaviour outside regular excludes
1036 if (restrictor > -1)
1037 {
1038 switch (restrictor)
1039 {
1040 case EInputRestrictors.INVENTORY:
1041 {
1042 GetUApi().GetInputByID(UAWalkRunForced).ForceEnable(true); // force walk on!
1043 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
1044 if ( player )
1045 {
1046 ItemBase item = player.GetItemInHands();
1047 if (item && item.IsWeapon())
1048 player.RequestResetADSSync();
1049 }
1050 break;
1051 }
1052 case EInputRestrictors.MAP:
1053 {
1054 GetUApi().GetInputByID(UAWalkRunForced).ForceEnable(true); // force walk on!
1055 break;
1056 }
1057 case EInputRestrictors.SURRENDER_TRANSITION:
1058 {
1059 GetUApi().GetInputByID(UATempRaiseWeapon).ForceDisable(true);
1060 break;
1061 }
1062 }
1063
1065 {
1067 }
1068 if (m_ActiveInputRestrictions.Find(restrictor) == -1)
1069 {
1070 m_ActiveInputRestrictions.Insert(restrictor);
1071 }
1072 }
1073 }
1074
1076 override void RefreshExcludes()
1077 {
1079 }
1080
1082 protected void PerformRefreshExcludes()
1083 {
1085 {
1086 foreach (string excl : m_ActiveInputExcludeGroups)
1087 {
1088 GetUApi().ActivateExclude(excl);
1089 }
1090 }
1091
1093 }
1094
1096 override void EnableAllInputs(bool bForceSupress = false)
1097 {
1099
1101 {
1102 int count = m_ActiveInputRestrictions.Count();
1103 for (int i = 0; i < count; i++)
1104 {
1106 }
1107 m_ActiveInputRestrictions.Clear(); //redundant?
1108 }
1110 {
1112 }
1113
1114 GetUApi().UpdateControls(); //it is meant to happen instantly, does not wait for update to process
1115 GetUApi().SupressNextFrame(bForceSupress); // supress control for next frame
1116 }
1117
1119 override bool IsControlDisabled()
1120 {
1121 bool active = false;
1123 {
1124 active |= m_ActiveInputExcludeGroups.Count() > 0;
1125 }
1127 {
1128 active |= m_ActiveInputRestrictions.Count() > 0;
1129 }
1130 active |= m_ControlDisabledMode >= INPUT_EXCLUDE_ALL; //legacy stuff, Justin case
1131 return active;
1132 }
1133
1135 override bool IsInputExcludeActive(string exclude)
1136 {
1137 return m_ActiveInputExcludeGroups && m_ActiveInputExcludeGroups.Find(exclude) != -1;
1138 }
1139
1141 override bool IsInputRestrictionActive(int restriction)
1142 {
1143 return m_ActiveInputRestrictions && m_ActiveInputRestrictions.Find(restriction) != -1;
1144 }
1145
1148 {
1149 return m_ControlDisabledMode;
1150 }
1151
1153 {
1155 }
1156
1157
1159 {
1160 if( GetUIManager() )
1161 {
1164 }
1165
1167
1168 if( m_Chat )
1169 m_Chat.Clear();
1170 }
1171
1172 void MoveHudForInventory( bool inv_open )
1173 {
1174 #ifdef PLATFORM_CONSOLE
1175 IngameHud hud = IngameHud.Cast( GetHud() );
1176 if( hud )
1177 {
1178 if( inv_open )
1179 {
1180 hud.GetHudPanelWidget().SetPos( 0, -0.055 );
1181 }
1182 else
1183 {
1184 hud.GetHudPanelWidget().SetPos( 0, 0 );
1185 }
1186 }
1187 #endif
1188 }
1189
1190 override void ShowInventory()
1191 {
1193
1194 if ( !menu && g_Game.GetPlayer().GetHumanInventory().CanOpenInventory() && !g_Game.GetPlayer().IsInventorySoftLocked() )
1195 {
1196 if( !m_InventoryMenu )
1197 {
1198 InitInventory();
1199 }
1200
1201 if( !GetUIManager().FindMenu( MENU_INVENTORY ) )
1202 {
1204 PlayerBase.Cast(g_Game.GetPlayer()).OnInventoryMenuOpen();
1205 }
1206 AddActiveInputExcludes({"inventory"});
1207 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
1208 }
1209 }
1210
1211 override void HideInventory()
1212 {
1213 if (m_InventoryMenu)
1214 {
1216 RemoveActiveInputExcludes({"inventory"},false);
1217 RemoveActiveInputRestriction(EInputRestrictors.INVENTORY);
1218 PlayerBase.Cast(g_Game.GetPlayer()).OnInventoryMenuClose();
1220 }
1221 }
1222
1224 {
1225 if (m_InventoryMenu)
1226 {
1227 if (!m_InventoryMenu.GetParentMenu() && GetUIManager().GetMenu() != m_InventoryMenu)
1228 {
1229 m_InventoryMenu.SetParentMenu(GetUIManager().GetMenu()); //hack; guarantees the 'm_pCurrentMenu' will be set to whatever is on top currently
1230 }
1231 m_InventoryMenu.Close();
1232 m_InventoryMenu = NULL;
1233 }
1234 }
1235
1236 override void ResetGUI()
1237 {
1239 InitInventory();
1240 }
1241
1242 override void ShowChat()
1243 {
1246 m_ChatChannelArea.Show(false);
1247 m_UIManager.EnterScriptedMenu(MENU_CHAT_INPUT, NULL);
1248
1249 int level = g_Game.GetVoiceLevel();
1251
1252 AddActiveInputExcludes({"menu"});
1253 }
1254
1255 override void HideChat()
1256 {
1257 RemoveActiveInputExcludes({"menu"},true);
1258 }
1259
1261 {
1262 if ( GetHud() )
1264 }
1265
1267 {
1268 if ( GetHud() )
1270 }
1271
1272 override Hud GetHud()
1273 {
1274 return m_Hud;
1275 }
1276
1278 {
1279 return m_HudDebug;
1280 }
1281
1283 {
1284 if (GetHudDebug())
1285 GetHudDebug().RefreshCrosshairVisibility();
1286 }
1287
1289 {
1290 if (GetHudDebug())
1291 GetHudDebug().HideCrosshairVisibility();
1292 }
1293
1294 override bool IsPaused()
1295 {
1296 return g_Game.GetUIManager().IsMenuOpen(MENU_INGAME);
1297 }
1298
1299 override void Pause()
1300 {
1301 if (IsPaused() || (g_Game.GetUIManager().GetMenu() && g_Game.GetUIManager().GetMenu().GetID() == MENU_INGAME))
1302 {
1303 return;
1304 }
1305
1306 m_PauseQueued = true;
1307
1308 if ( g_Game.IsClient() && g_Game.GetGameState() != DayZGameState.IN_GAME )
1309 {
1310 return;
1311 }
1312
1313 PlayerBase player = PlayerBase.Cast(g_Game.GetPlayer());
1314 if ( player && !player.IsPlayerLoaded() || IsPlayerRespawning() )
1315 {
1316 return;
1317 }
1318
1319 CloseAllMenus();
1320
1321 // open ingame menu
1322 UIScriptedMenu menu = GetUIManager().EnterScriptedMenu( MENU_INGAME, g_Game.GetUIManager().GetMenu() );
1323 if (!menu || !menu.IsVisible())
1324 {
1325 return;
1326 }
1327
1328 AddActiveInputExcludes({"menu"});
1329 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
1330
1331 m_PauseQueued = false;
1332 }
1333
1334 override void Continue()
1335 {
1336 UIScriptedMenu menu = g_Game.GetUIManager().GetMenu();
1337 if (menu)
1338 {
1339 int menu_id = menu.GetID();
1340 if (!IsPaused() || (menu_id != MENU_INGAME && menu_id != MENU_LOGOUT && menu_id != MENU_RESPAWN_DIALOGUE) || (m_Logout && m_Logout.layoutRoot.IsVisible()))
1341 {
1342 return;
1343 }
1344 }
1345
1346 RemoveActiveInputExcludes({"menu"},true);
1347 RemoveActiveInputRestriction(EInputRestrictors.INVENTORY);
1349 }
1350
1351 override bool IsMissionGameplay()
1352 {
1353 return true;
1354 }
1355
1356 override void AbortMission()
1357 {
1358 #ifdef BULDOZER
1359 g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(g_Game.RequestExit, IDC_MAIN_QUIT);
1360 #else
1361 g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(g_Game.AbortMission);
1362 #endif
1363 }
1364
1365 override void CreateLogoutMenu(UIMenuPanel parent)
1366 {
1367 // prevent creating logout dialog if input buffer has reached server config maximumClientInputs limit.
1369 return;
1370
1371 // prevent creating the logout dialog if the in-game menu was closed before (DZ-23150)
1373 if (menu && menu.GetID() != MENU_LOGOUT && menu.IsClosing())
1374 return;
1375
1376 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
1377 // do not show logout screen if player's dead
1378 if (!player || player.IsDamageDestroyed())
1379 {
1380 // exit the game immediately
1381 AbortMission();
1382 return;
1383 }
1384
1385 if (parent)
1386 {
1387 m_Logout = LogoutMenu.Cast(parent.EnterScriptedMenu(MENU_LOGOUT));
1388
1389 if (m_Logout)
1390 {
1391 g_Game.LogoutRequestTime();
1392 m_Logout.SetLogoutTime();
1393 }
1394 }
1395 }
1396
1403 {
1404 if (!m_Logout)
1405 return;
1406
1407 m_Logout.Cancel();
1408 m_Logout = null;
1409 }
1410
1411 override void StartLogoutMenu(int time)
1412 {
1413 // the invite dialog waits for the very same logout, it just joins the target server
1414 // instead of returning to the main menu once it is over
1415 InviteMenu invite = InviteMenu.Cast(GetUIManager().FindMenu(MENU_INVITE_TIMER));
1416 if (invite)
1417 {
1418 invite.StartCountdown(time);
1419 return;
1420 }
1421
1422 if (m_Logout)
1423 {
1424 if (time > 0)
1425 {
1426 // character will be deleted from server int "time" seconds
1427 m_Logout.SetTime(time);
1428 m_Logout.Show();
1429
1430 g_Game.GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(m_Logout.UpdateTime, 1000, true);
1431 }
1432 else
1433 {
1434 // no waiting time -> player is most likely dead
1435 m_Logout.Exit();
1436 }
1437 }
1438 }
1439
1440 override void CreateDebugMonitor()
1441 {
1442 if (!m_DebugMonitor)
1443 {
1445 m_DebugMonitor.Init();
1446 }
1447 else
1448 m_DebugMonitor.Show();
1449
1450 }
1451 override void HideDebugMonitor()
1452 {
1453 if (m_DebugMonitor)
1454 {
1455 m_DebugMonitor.Hide();
1456 }
1457 }
1458
1459 protected void HandleMapToggleByKeyboardShortcut(Man player)
1460 {
1461 UIManager um = g_Game.GetUIManager();
1462 if (um && !um.IsMenuOpen(MENU_MAP))
1463 {
1464 um.CloseAll();
1466 {
1467 um.EnterScriptedMenu(MENU_MAP, null);
1468 Mission mission = g_Game.GetMission();
1469 mission.AddActiveInputExcludes({"map"});
1470 mission.AddActiveInputRestriction(EInputRestrictors.MAP);
1471 }
1472 }
1473 }
1474
1475 protected bool IsMapUnfoldActionRunning(ActionBase pAction)
1476 {
1477 return !pAction || pAction.Type() != ActionUnfoldMap;
1478 }
1479
1480 /*void ChangeBleedingIndicatorVisibility(bool visible)
1481 {
1482 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
1483 if (player)
1484 {
1485 BleedingSourcesManagerRemote manager = player.GetBleedingManagerRemote();
1486 if (manager && manager.GetBleedingSourcesCount() > 0)
1487 {
1488 manager.ChangeBleedingIndicatorVisibility(visible);
1489 }
1490 }
1491 }*/
1492
1494 {
1495 if (!m_DebugMonitor) return;
1496
1497 PlayerBase player = PlayerBase.Cast( g_Game.GetPlayer() );
1498 if (player)
1499 {
1500 DebugMonitorValues values = player.GetDebugMonitorValues();
1501 if (values)
1502 {
1503 m_DebugMonitor.SetHealth(values.GetHealth());
1504 m_DebugMonitor.SetBlood(values.GetBlood());
1505 m_DebugMonitor.SetLastDamage(values.GetLastDamage());
1506 m_DebugMonitor.SetPosition(MiscGameplayFunctions.TruncateVec(player.GetPosition(),1));
1507 m_DebugMonitor.SetEnvironmentTemperature(values.GetEnvironmentTemperature());
1508 m_DebugMonitor.SetHeatComfort(values.GetHeatComfort());
1509 m_DebugMonitor.SetThermalBias(values.GetThermalBias());
1510 }
1511 }
1512
1513 float currFPS = g_Game.GetAvgFPS(10); // Not using last, but average of last x to prevent jitter
1514 float minFPS, maxFPS, avgFPS;
1515 g_Game.GetFPSStats(minFPS, maxFPS, avgFPS);
1516 m_DebugMonitor.SetFramerate(currFPS, minFPS, maxFPS, avgFPS);
1517 }
1518
1519 void SetActionDownTime( int time_down )
1520 {
1521 m_ActionDownTime = time_down;
1522 }
1523
1524 void SetActionUpTime( int time_up )
1525 {
1526 m_ActionUpTime = time_up;
1527 }
1528
1530 {
1531 return m_ActionDownTime;
1532 }
1533
1535 {
1536 return m_ActionUpTime;
1537 }
1538
1540 {
1541 float hold_action_time = LocalReleaseTime() - LocalPressTime();
1542 return hold_action_time;
1543 }
1544
1546 {
1547#ifndef SERVER
1548 ShowHairDebugValues(DiagMenu.GetBool(DiagMenuIDs.MISC_HAIR_DISPLAY_DEBUG));
1549#endif
1550 }
1551
1552 void ShowHairDebugValues(bool state)
1553 {
1554#ifdef DIAG_DEVELOPER
1555 if ( state )
1556 {
1558
1559 int i = DiagMenu.GetValue(DiagMenuIDs.MISC_HAIR_LEVEL);
1560 bool bState = diagmenu.m_HairHidingStateMap.Get(i);
1561 string selectionState;
1562 if (!bState)
1563 selectionState = "Hidden";
1564 else
1565 selectionState = "Shown";
1566 string selectionName = diagmenu.m_HairSelectionArray.Get(i);
1567
1569 DbgUI.Begin("Hair Debug", 50, 150);
1570 DbgUI.Text("Current Hair Selection:" + selectionName);
1571 DbgUI.Text("State: " + selectionState);
1572
1573 DbgUI.End();
1575 }
1576 else
1577 {
1579 DbgUI.Begin("Hair Debug", 50, 50);
1580 DbgUI.End();
1582 }
1583#endif
1584 }
1585
1586 override void UpdateVoiceLevelWidgets(int level)
1587 {
1588 for ( int n = 0; n < m_VoiceLevelsWidgets.Count(); n++ )
1589 {
1590 int voiceKey = m_VoiceLevelsWidgets.GetKey(n);
1591 ImageWidget voiceWidget = m_VoiceLevelsWidgets.Get(n);
1592
1593 // stop fade timer since it will be refreshed
1594 WidgetFadeTimer timer = m_VoiceLevelTimers.Get(n);
1595 timer.Stop();
1596
1597 // show widgets according to the level
1598 if ( voiceKey <= level )
1599 {
1600 voiceWidget.SetAlpha(1.0); // reset from possible previous fade out
1601 voiceWidget.Show(true);
1602
1603 if ( !m_VoNActive && !GetUIManager().FindMenu(MENU_CHAT_INPUT) )
1604 timer.FadeOut(voiceWidget, 3.0);
1605 }
1606 else
1607 voiceWidget.Show(false);
1608 }
1609
1610 // fade out microphone icon when switching levels without von on
1611 if ( !m_VoNActive )
1612 {
1613 if ( !GetUIManager().FindMenu(MENU_CHAT_INPUT) )
1614 {
1615 m_MicrophoneIcon.SetAlpha(1.0);
1616 m_MicrophoneIcon.Show(true);
1617
1618 m_MicFadeTimer.FadeOut(m_MicrophoneIcon, 3.0);
1619 }
1620 }
1621 else
1622 {
1623 // stop mic icon fade timer when von is activated
1624 m_MicFadeTimer.Stop();
1625 }
1626 }
1627
1628 override ImageWidget GetMicrophoneIcon()
1629 {
1630 return m_MicrophoneIcon;
1631 }
1632
1633 override WidgetFadeTimer GetMicWidgetFadeTimer()
1634 {
1635 return m_MicFadeTimer;
1636 }
1637
1642
1647
1648 override bool IsVoNActive()
1649 {
1650 return m_VoNActive;
1651 }
1652
1653 override void SetVoNActive(bool active)
1654 {
1655 m_VoNActive = active;
1656 }
1657
1659 {
1660 for ( int n = 0; n < m_VoiceLevelsWidgets.Count(); n++ )
1661 {
1662 ImageWidget voiceWidget = m_VoiceLevelsWidgets.Get( n );
1663 voiceWidget.Show(false);
1664 }
1665 }
1666
1668 {
1669 return m_Note;
1670 };
1671
1672 override void SetNoteMenu(UIScriptedMenu menu)
1673 {
1674 m_Note = NoteMenu.Cast(menu);
1675 };
1676
1677 override void OnPlayerRespawned(Man player)
1678 {
1679 #ifdef DIAG_DEVELOPER
1680 if (m_HudDebug)
1681 m_HudDebug.RefreshByLocalProfile();
1682 #endif
1683
1684 PlayerBase playerBase = PlayerBase.Cast(player);
1685 if (playerBase)
1686 {
1687 g_Game.GetCallQueue(CALL_CATEGORY_GUI).Call(playerBase.ShowDeadScreen, false, 0);
1688 }
1689
1690 g_Game.GetSoundScene().SetSoundVolume(g_Game.m_volume_sound,1);
1691 g_Game.GetSoundScene().SetSpeechExVolume(g_Game.m_volume_speechEX,1);
1692 g_Game.GetSoundScene().SetMusicVolume(g_Game.m_volume_music,1);
1693 g_Game.GetSoundScene().SetVOIPVolume(g_Game.m_volume_VOIP,1);
1694 g_Game.GetSoundScene().SetRadioVolume(g_Game.m_volume_radio,1);
1695 }
1696
1697 override void SetPlayerRespawning(bool state)
1698 {
1699 m_PlayerRespawning = state;
1700 }
1701
1702 override bool IsPlayerRespawning()
1703 {
1704 return m_PlayerRespawning;
1705 }
1706
1708 {
1709 return m_ActiveRefresherLocations;
1710 }
1711
1712 override void SetRespawnModeClient(int mode)
1713 {
1714 m_RespawnModeClient = mode;
1715 }
1716
1718 {
1719 return m_RespawnModeClient;
1720 }
1721
1722 override GameplayEffectWidgets GetEffectWidgets()
1723 {
1724 return m_EffectWidgets;
1725 }
1726
1735
1736 protected void OnInputBufferEvent(bool state)
1737 {
1738 if (m_InputBufferFull != state)
1739 {
1740 m_InputBufferFull = state;
1742 {
1743 UIManager uiManager = g_Game.GetUIManager();
1744 UIScriptedMenu menu = uiManager.GetMenu();
1745 if (menu && menu.GetID() == MENU_INVENTORY)
1746 {
1747 g_Game.GetMission().HideInventory();
1748 }
1749
1750 uiManager.CloseAll();
1751
1753 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(InputBufferCheck, 0.500, true);
1754 }
1755 }
1756 }
1757
1758 protected void InputBufferCheck()
1759 {
1760 PlayerBase player;
1762 ActionBase action;
1763
1765 {
1766 DayZPlayer dayzPlayer = g_Game.GetPlayer();
1767 if (m_ConnectionMenu && (!dayzPlayer.IsAlive() || dayzPlayer.IsUnconscious()))
1768 {
1769 m_ConnectionMenu.Close();
1770
1771 player = PlayerBase.Cast(dayzPlayer);
1772 if (!player)
1773 return;
1774
1775 amb = player.GetActionManager();
1776 if (!amb)
1777 return;
1778
1779 action = amb.GetRunningAction();
1780 if (action && amb.GetActionState(action) != UA_NONE)
1781 {
1782 amb.RequestInterruptAction();
1783 }
1784 return;
1785 }
1786
1787 if (!m_ConnectionMenu)
1788 {
1789 UIManager uiManager = g_Game.GetUIManager();
1790 UIScriptedMenu menu = uiManager.GetMenu();
1791 if (menu && menu.GetID() == MENU_INVENTORY)
1792 {
1793 g_Game.GetMission().HideInventory();
1794 }
1795
1796 uiManager.CloseAll();
1798 }
1799 }
1800 else
1801 {
1802 if (m_ConnectionMenu)
1803 {
1804 g_Game.GetCallQueue(CALL_CATEGORY_GAMEPLAY).Remove(InputBufferCheck);
1805 m_ConnectionMenu.Close();
1806
1807 player = PlayerBase.Cast(g_Game.GetPlayer());
1808 if (!player)
1809 return;
1810
1811 amb = player.GetActionManager();
1812 if (!amb)
1813 return;
1814
1815 action = amb.GetRunningAction();
1816 if (action && amb.GetActionState(action) != UA_NONE)
1817 {
1818 amb.RequestInterruptAction();
1819 }
1820 }
1821 }
1822 }
1823
1828
1830 {
1832 }
1833}
void ActionBase()
Определения ActionBase.c:82
void ActionManagerBase(PlayerBase player)
Определения ActionManagerBase.c:63
ActionUnfoldMapCB ActionBaseCB ActionUnfoldMap()
Определения ActionUnfoldMap.c:170
bool IsLocked()
Определения CodeLockComponent.c:658
DayZGame g_Game
Определения DayZGame.c:4074
Mission mission
Определения DisplayStatus.c:28
DiagMenuIDs
Определения EDiagMenuIDs.c:2
EPlayerStates
Определения EPlayerStates.c:2
ERPCs
Определения ERPCs.c:2
void HudDebug()
Определения HudDebug.c:93
void InventoryMenu()
Определения InventoryMenu.c:20
PPERequesterCategory
Определения PPEConstants.c:29
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
proto native UAInputAPI GetUApi()
Определения ActionMenu.c:2
static void Start()
Определения AutotestRunner.c:19
static bool IsRunning()
Определения AutotestRunner.c:9
static bool IsDone()
Определения AutotestRunner.c:14
static void Update(float deltaTime)
Определения AutotestRunner.c:55
Определения AutotestRunner.c:5
static BunkerBroadcastHandler GetInstance()
Определения BunkerBroadcastHandler.c:134
static bool LoadData()
Определения CfgBunkerBroadcastHandler.c:8
static void Spawn()
Определения CfgBunkerBroadcastHandler.c:51
static bool GetUse3DMap()
Определения CfgGameplayHandler.c:417
static bool LoadData()
Определения CfgGameplayHandler.c:44
static bool GetMapIgnoreMapOwnership()
Определения CfgGameplayHandler.c:438
Определения Chat.c:15
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения DayZPlayerImplement.c:87
Определения DbgUI.c:60
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Определения 3_Game/DayZ/tools/Debug.c:183
Определения 3_Game/DayZ/tools/Debug.c:2
Определения DebugMonitor.c:2
float GetHealth()
Определения DebugMonitorValues.c:92
float GetThermalBias()
Определения DebugMonitorValues.c:112
float GetEnvironmentTemperature()
Определения DebugMonitorValues.c:102
float GetBlood()
Определения DebugMonitorValues.c:87
string GetLastDamage()
Определения DebugMonitorValues.c:97
float GetHeatComfort()
Определения DebugMonitorValues.c:107
Определения EnDebug.c:241
void KeyPress(int key)
static void CreateZones()
Определения ContaminatedAreaLoader.c:6
EntityAI GetParentEntity()
Определения Hologram.c:1322
void AddProjectionRotation(float addition)
Определения Hologram.c:1416
void UpdateHologram(float timeslice)
Определения Hologram.c:256
void SubtractProjectionRotation(float subtraction)
Определения Hologram.c:1421
Определения Hologram.c:2
void HideVehicleInfo()
void ShowVehicleInfo()
Определения gameplay.c:638
proto native void LimitsDisableSprint(bool pDisable)
this disables sprint
Определения human.c:18
proto native void DisableKey(int key)
Disable key until end of frame.
proto native bool IsEnabledMouseAndKeyboardEvenOnServer()
Определения input.c:11
Определения Feet.c:1
EntityAI GetSelectedItem()
Определения ItemManager.c:85
static ItemManager GetInstance()
Определения ItemManager.c:282
Определения ItemManager.c:2
static bool IsLogsEnable()
Определения 3_Game/DayZ/tools/Debug.c:739
static void Init()
Определения MapMarkersInfo.c:5
Определения MapMarkersInfo.c:2
void ~MissionGameplay()
Определения missionGameplay.c:85
UIManager GetUIManager()
Определения missionGameplay.c:188
override void EnableAllInputs(bool bForceSupress=false)
Removes all active input excludes and restrictions.
Определения missionGameplay.c:1096
override void CreateDebugMonitor()
Определения missionGameplay.c:1440
override void PlayerControlEnable(bool bForceSupress)
Deprecated; removes last input exclude and associated controls restrictions.
Определения missionGameplay.c:837
HudDebug GetHudDebug()
Определения missionGameplay.c:1277
int m_LifeState
Определения missionGameplay.c:3
void TakeOverLogoutMenu()
Определения missionGameplay.c:1402
void InputBufferCheck()
Определения missionGameplay.c:1758
float GetHoldActionTime()
Определения missionGameplay.c:1539
override UIScriptedMenu GetNoteMenu()
Определения missionGameplay.c:1667
void SendMuteListToServer(map< string, bool > mute_list)
Определения missionGameplay.c:248
override void AddActiveInputExcludes(array< string > excludes)
Adds one or more exclude groups to disable and refreshes excludes.
Определения missionGameplay.c:1001
ref Watermark m_Watermark
Определения missionGameplay.c:18
int m_ControlDisabledMode
Определения missionGameplay.c:38
bool m_QuickbarHold
Определения missionGameplay.c:42
ref ActionMenu m_ActionMenu
Определения missionGameplay.c:13
override void OnUpdate(float timeslice)
Определения missionGameplay.c:287
override void OnInit()
Определения missionGameplay.c:102
override void RemoveActiveInputExcludes(array< string > excludes, bool bForceSupress=false)
Removes one or more exclude groups and refreshes excludes.
Определения missionGameplay.c:938
void SetActionUpTime(int time_up)
Определения missionGameplay.c:1524
bool m_ControlDisabled
Определения missionGameplay.c:37
override map< int, ref WidgetFadeTimer > GetVoiceLevelTimers()
Определения missionGameplay.c:1643
override void OnPlayerRespawned(Man player)
Определения missionGameplay.c:1677
float GetExitButtonDisabledRemainingTime()
Определения missionGameplay.c:1824
override void ShowInventory()
Определения missionGameplay.c:1190
void HideVehicleInfo()
Определения missionGameplay.c:1266
ref IngameHud m_Hud
Определения missionGameplay.c:14
override void PlayerControlDisable(int mode)
Deprecated; simple input restrictions.
Определения missionGameplay.c:886
void DestroyInventory()
Определения missionGameplay.c:1223
override void Continue()
Определения missionGameplay.c:1334
ref map< int, ImageWidget > m_VoiceLevelsWidgets
Определения missionGameplay.c:50
ref HudDebug m_HudDebug
Определения missionGameplay.c:15
bool m_VoNActive
Определения missionGameplay.c:48
override bool IsInputExcludeActive(string exclude)
Returns true if the particular input exclude group had been activated via script and is active.
Определения missionGameplay.c:1135
ref array< string > m_ActiveInputExcludeGroups
Определения missionGameplay.c:39
int m_RespawnModeClient
Определения missionGameplay.c:44
override void StartLogoutMenu(int time)
Определения missionGameplay.c:1411
bool m_PlayerRespawning
Определения missionGameplay.c:43
ImageWidget m_MicrophoneIcon
Определения missionGameplay.c:9
override bool IsControlDisabled()
returns if ANY exclude groups, restriction (or deprecated disable, if applicable) is active
Определения missionGameplay.c:1119
int m_ActionUpTime
Определения missionGameplay.c:35
override map< int, ImageWidget > GetVoiceLevelWidgets()
Определения missionGameplay.c:1638
void DestroyAllMenus()
Определения missionGameplay.c:1158
bool m_InitOnce
Определения missionGameplay.c:36
UIManager m_UIManager
Определения missionGameplay.c:6
override ImageWidget GetMicrophoneIcon()
Определения missionGameplay.c:1628
override void SetNoteMenu(UIScriptedMenu menu)
Определения missionGameplay.c:1672
void TickScheduler(float timeslice)
Определения missionGameplay.c:225
override void HideDebugMonitor()
Определения missionGameplay.c:1451
override void ResetGUI()
Определения missionGameplay.c:1236
override void ShowChat()
Определения missionGameplay.c:1242
override void OnKeyRelease(int key)
Определения missionGameplay.c:752
void HandleMapToggleByKeyboardShortcut(Man player)
Определения missionGameplay.c:1459
override void HideCrosshairVisibility()
Определения missionGameplay.c:1288
override void RefreshCrosshairVisibility()
Определения missionGameplay.c:1282
ref ScriptInvoker m_OnConnectivityChanged
Определения missionGameplay.c:20
override bool IsInputRestrictionActive(int restriction)
Returns true if the particular 'restriction' (those govern special behaviour outside regular input ex...
Определения missionGameplay.c:1141
override void SetVoNActive(bool active)
Определения missionGameplay.c:1653
ref DebugMonitor m_DebugMonitor
Определения missionGameplay.c:17
void CloseAllMenus()
Определения missionGameplay.c:1152
override bool IsMissionGameplay()
Определения missionGameplay.c:1351
override void HideChat()
Определения missionGameplay.c:1255
override void OnEvent(EventType eventTypeId, Param params)
Определения missionGameplay.c:757
void ShowHairDebugValues(bool state)
Определения missionGameplay.c:1552
BunkerBroadcastHandler m_BunkerBroadcastHandler
Определения missionServer.c:28
ref WidgetFadeTimer m_ChatChannelFadeTimer
Определения missionGameplay.c:25
override int GetControlDisabledMode()
(mostly)DEPRECATED; only set on the old 'PlayerControlDisable' method
Определения missionGameplay.c:1147
ref array< int > m_ActiveInputRestrictions
Определения missionGameplay.c:40
override bool IsPlayerRespawning()
Определения missionGameplay.c:1702
int LocalPressTime()
Определения missionGameplay.c:1529
Widget m_VoiceLevels
Определения missionGameplay.c:49
override void AbortMission()
Определения missionGameplay.c:1356
override Hud GetHud()
Определения missionGameplay.c:1272
ref WidgetFadeTimer m_MicFadeTimer
Определения missionGameplay.c:26
const int HOLD_LIMIT_TIME
Определения missionGameplay.c:33
void SetActionDownTime(int time_down)
Определения missionGameplay.c:1519
override void HideVoiceLevelWidgets()
Определения missionGameplay.c:1658
override bool IsVoNActive()
Определения missionGameplay.c:1648
bool m_PauseQueued
Определения missionGameplay.c:45
void MissionGameplay()
Определения missionGameplay.c:64
ref Timer m_ChatChannelHideTimer
Определения missionGameplay.c:24
InventoryMenu GetInventory()
Определения missionGameplay.c:97
override void OnKeyPress(int key)
Определения missionGameplay.c:742
TextWidget m_ChatChannelText
Определения missionGameplay.c:29
override void RefreshExcludes()
queues refresh of input excludes
Определения missionGameplay.c:1076
ScriptInvoker GetConnectivityInvoker()
Определения missionGameplay.c:1727
ref LogoutMenu m_Logout
Определения missionGameplay.c:16
Widget m_HudRootWidget
Определения missionGameplay.c:8
override int GetRespawnModeClient()
Определения missionGameplay.c:1717
void InitInventory()
Определения missionGameplay.c:217
UIScriptedMenu m_ConnectionMenu
Определения missionGameplay.c:54
override void AddActiveInputRestriction(int restrictor)
Adds one input restriction (specific behaviour oudside regular excludes, defined below)
Определения missionGameplay.c:1033
override void HideInventory()
Определения missionGameplay.c:1211
int LocalReleaseTime()
Определения missionGameplay.c:1534
override void Pause()
Определения missionGameplay.c:1299
override void CreateLogoutMenu(UIMenuPanel parent)
Определения missionGameplay.c:1365
override GameplayEffectWidgets GetEffectWidgets()
Определения missionGameplay.c:1722
void OnInputBufferEvent(bool state)
Определения missionGameplay.c:1736
ref map< int, ref WidgetFadeTimer > m_VoiceLevelTimers
Определения missionGameplay.c:51
Widget m_ChatChannelArea
Определения missionGameplay.c:28
void MoveHudForInventory(bool inv_open)
Определения missionGameplay.c:1172
void UpdateDebugMonitor()
Определения missionGameplay.c:1493
override void OnMissionFinish()
Определения missionGameplay.c:266
float m_ExitButtonDisabledRemainingTime
Определения missionGameplay.c:56
bool m_ProcessInputExcludes
Определения missionGameplay.c:41
override void SetPlayerRespawning(bool state)
Определения missionGameplay.c:1697
void PerformRefreshExcludes()
applies queued excludes (0 == clear excludes)
Определения missionGameplay.c:1082
void SetExitButtonDisabledRemainingTime(float value)
Определения missionGameplay.c:1829
ref GameplayEffectWidgets m_EffectWidgets
Определения missionGameplay.c:22
override void RemoveActiveInputRestriction(int restrictor)
Removes one restriction (specific behaviour oudside regular excludes, defined below)
Определения missionGameplay.c:969
ref Chat m_Chat
Определения missionGameplay.c:12
override void OnMissionStart()
Определения missionGameplay.c:193
bool IsMapUnfoldActionRunning(ActionBase pAction)
Определения missionGameplay.c:1475
override bool IsPaused()
Определения missionGameplay.c:1294
void ShowVehicleInfo()
Определения missionGameplay.c:1260
void DisplayHairDebug()
Определения missionGameplay.c:1545
ref Timer m_ToggleHudTimer
Определения missionGameplay.c:32
override void SetRespawnModeClient(int mode)
Определения missionGameplay.c:1712
override WidgetFadeTimer GetMicWidgetFadeTimer()
Определения missionGameplay.c:1633
override void UpdateVoiceLevelWidgets(int level)
Определения missionGameplay.c:1586
NoteMenu m_Note
Определения missionGameplay.c:30
override void UpdateInputDevicesAvailability()
Определения missionGameplay.c:258
bool m_InputBufferFull
Определения missionGameplay.c:53
ref InventoryMenu m_InventoryMenu
Определения missionGameplay.c:11
override void OnItemUsed(InventoryItem item, Man owner)
Определения missionGameplay.c:809
override array< vector > GetActiveRefresherLocations()
Определения missionGameplay.c:1707
int m_ActionDownTime
Определения missionGameplay.c:34
bool m_Initialized
Определения missionGameplay.c:4
Определения missionGameplay.c:2
Mission class.
Определения gameplay.c:686
static PPEManager GetPPEManager()
Returns the manager instance singleton.
Определения PPEManager.c:27
Static component of PPE manager, used to hold the instance.
Определения PPEManager.c:3
static void Init()
Определения PPEffects.c:52
Deprecated; 'PPEManager' used instead.
Определения PPEffects.c:3
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Определения param.c:12
Определения PlayerBaseClient.c:2
static ref ScriptInvoker Event_OnFrameUpdate
Static invoker for the SEffectManager.Event_OnFrameUpdate called form MissionGameplay....
Определения EffectManager.c:24
Manager class for managing Effect (EffectParticle, EffectSound)
Определения EffectManager.c:6
ScriptInvoker Class provide list of callbacks usage:
Определения 2_GameLib/DayZ/tools.c:116
proto native void Send(Object target, int rpc_type, bool guaranteed, PlayerIdentity recipient=NULL)
Initiate remote procedure call. When called on client, RPC is evaluated on server; When called on ser...
Определения gameplay.c:105
proto bool Write(void value_out)
static void RegisterEvents()
Определения SyncEvents.c:3
Определения SyncEvents.c:2
Определения EnWidgets.c:220
Определения DayZPlayerImplement.c:39
proto native void ForceEnable(bool bEnable)
proto native void ForceDisable(bool bEnable)
proto native void Unlock()
proto native void UpdateControls()
proto native void ActivateExclude(string sExcludeName)
proto native UAInput GetInputByID(int iID)
returns list of all bindable (i.e. visible) inputs from the active group ('core' by default)
proto native void SupressNextFrame(bool bForce)
proto native void Lock()
proto native UIScriptedMenu GetMenu()
Returns most-top open menu.
proto native void ScreenFadeOut(float duration)
bool CloseMenu(int id)
Close menu with specific ID (see MenuID)
Определения UIManager.c:117
proto native UIScriptedMenu EnterScriptedMenu(int id, UIMenuPanel parent)
Create & open menu with specific id (see MenuID) and set its parent.
void ShowUICursor(bool visible)
Определения UIManager.c:244
bool IsMenuOpen(int id)
Returns true if menu with specific ID is opened (see MenuID)
Определения UIManager.c:154
bool CloseAll()
Close all opened menus.
Определения UIManager.c:78
proto native void HideDialog()
proto native UIScriptedMenu ShowScriptedMenu(UIScriptedMenu menu, UIMenuPanel parent)
proto native void HideScriptedMenu(UIScriptedMenu menu)
Определения UIManager.c:2
proto native UIScriptedMenu EnterScriptedMenu(int id)
Create & open menu with specific id (see MenuID) and set this menu as its parent.
Part of main menu hierarchy to create custom menus from script.
Определения UIScriptedMenu.c:3
override bool UseMouse()
Определения GesturesMenu.c:274
override bool UseKeyboard()
Определения ChatInputMenu.c:24
bool IsMenuClosing()
Определения GesturesMenu.c:669
Определения DayZGame.c:64
static void SpawnAllTriggerCarriers()
Определения UndergroundAreaLoader.c:135
static VONManagerBase GetInstance()
Main way to access VONManager functionality from script.
Определения VONManager.c:309
void HandleInput(Input inp)
Manager class which handles Voice-over-network functionality while player is connected to a server.
Определения VONManager.c:302
void ResetRefreshCounter()
Определения VicinityItemManager.c:76
static VicinityItemManager GetInstance()
Определения VicinityItemManager.c:22
Определения Watermark.c:2
Определения EnWidgets.c:190
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения Transport.c:70
Param1< bool > NetworkInputBufferEventParams
isFull
Определения gameplay.c:463
const EventType SetFreeCameraEventTypeID
params: SetFreeCameraEventParams
Определения gameplay.c:565
Param4< int, string, string, string > ChatMessageEventParams
channel, from, text, color config class
Определения gameplay.c:407
Param1< int > ChatChannelEventParams
Определения gameplay.c:408
const EventType NetworkInputBufferEventTypeID
params: NetworkInputBufferEventParams
Определения gameplay.c:573
const EventType ChatChannelEventTypeID
params: ChatChannelEventParams
Определения gameplay.c:501
Param1< FreeDebugCamera > SetFreeCameraEventParams
Camera.
Определения gameplay.c:455
DayZGame GetGame()
Определения gameplay.c:636
const EventType ChatMessageEventTypeID
params: ChatMessageEventParams
Определения gameplay.c:499
static proto native void End()
static proto native void Begin(string windowTitle, float x=0, float y=0)
static proto native void Text(string label)
static proto void BeginCleanupScope()
static proto native void EndCleanupScope()
static proto bool GetBool(int id, bool reverse=false)
Get value as bool from the given script id.
static proto int GetValue(int id)
Get value as int from the given script id.
const int INPUT_EXCLUDE_MOUSE_RADIAL
Определения 3_Game/DayZ/constants.c:694
const int INPUT_EXCLUDE_ALL
Определения 3_Game/DayZ/constants.c:691
const int INPUT_EXCLUDE_INVENTORY
Определения 3_Game/DayZ/constants.c:692
const int INPUT_EXCLUDE_MAP
Определения 3_Game/DayZ/constants.c:695
const int INPUT_EXCLUDE_MOUSE_ALL
Определения 3_Game/DayZ/constants.c:693
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
const int INPUT_DEVICE_MOUSE
Определения 1_Core/DayZ/constants.c:24
const int INPUT_ACTION_TYPE_DOUBLETAP
Определения 1_Core/DayZ/constants.c:40
const int INPUT_DEVICE_MOUSE_AXIS
Определения 1_Core/DayZ/constants.c:42
const int INPUT_ACTION_TYPE_DOWN_EVENT
Определения 1_Core/DayZ/constants.c:33
const int MENU_LOGOUT
Определения 3_Game/DayZ/constants.c:201
const int MENU_INSPECT
Определения 3_Game/DayZ/constants.c:185
const int MENU_MAP
Определения 3_Game/DayZ/constants.c:197
const int MENU_DIGITAL_CODELOCK
Определения 3_Game/DayZ/constants.c:222
const int MENU_RESPAWN_DIALOGUE
Определения 3_Game/DayZ/constants.c:215
const int MENU_INVITE_TIMER
Определения 3_Game/DayZ/constants.c:212
const int MENU_GESTURES
Определения 3_Game/DayZ/constants.c:200
const int MENU_CONNECTION_DIALOGUE
Определения 3_Game/DayZ/constants.c:221
const int MENU_CHAT
Определения 3_Game/DayZ/constants.c:181
const int MENU_INVENTORY
Определения 3_Game/DayZ/constants.c:186
const int MENU_NOTE
Определения 3_Game/DayZ/constants.c:196
const int MENU_RADIAL_QUICKBAR
Определения 3_Game/DayZ/constants.c:204
const int MENU_BOOK
Определения 3_Game/DayZ/constants.c:198
const int MENU_INGAME
Определения 3_Game/DayZ/constants.c:184
const int MENU_CHAT_INPUT
Определения 3_Game/DayZ/constants.c:192
proto native bool IsCLIParam(string param)
Returns if command line argument is present.
const int CALL_CATEGORY_GAMEPLAY
Определения 3_Game/DayZ/tools/tools.c:10
const int CALL_CATEGORY_GUI
Определения 3_Game/DayZ/tools/tools.c:9
const int CALL_CATEGORY_SYSTEM
Определения 3_Game/DayZ/tools/tools.c:8
const int UA_NONE
Определения 3_Game/DayZ/constants.c:494
const int IDC_MAIN_QUIT
Определения 3_Game/DayZ/constants.c:150
TypeID EventType
Определения EnWidgets.c:55