279 UpdateInputDeviceDiag();
283 if (GetTimeStamp() == 0)
287 m_PauseQueued =
true;
292 GetUIManager().ShowUICursor(
false);
297 if (m_PauseQueued && !IsPaused())
302 Man player =
GetGame().GetPlayer();
304 TickScheduler(timeslice);
305 UpdateDummyScheduler();
308 NoteMenu note_menu = NoteMenu.Cast( m_UIManager.FindMenu(
MENU_NOTE) );
309 GesturesMenu gestures_menu = GesturesMenu.Cast(m_UIManager.FindMenu(
MENU_GESTURES));
310 RadialQuickbarMenu quickbar_menu = RadialQuickbarMenu.Cast(m_UIManager.FindMenu(
MENU_RADIAL_QUICKBAR));
311 InspectMenuNew inspect = InspectMenuNew.Cast( m_UIManager.FindMenu(
MENU_INSPECT) );
314 bool manualInputUnlockProcessed =
false;
318 #ifdef DIAG_DEVELOPER
321 DbgUI.Begin(
"Hologram Debug", 5, 5);
325 if ( playerPB.GetHologramLocal() )
327 playerPB.GetHologramLocal().UpdateHologram( timeslice );
329 #ifdef DIAG_DEVELOPER
332 DbgUI.Text(
"No active Hologram");
341 runningAction = playerPB.GetActionManager().GetRunningAction();
344#ifdef PLATFORM_CONSOLE
346 if (
GetUApi().GetInputByID(UAVoiceModifierHelper).LocalValue() && !menu)
348 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Lock();
349 GetUApi().GetInputByID(UAZoomInToggle).Lock();
350 GetUApi().GetInputByID(UAPersonView).Lock();
351 GetUApi().GetInputByID(UALeanLeft).Lock();
352 GetUApi().GetInputByID(UALeanRight).Lock();
354 else if (
GetUApi().GetInputByID(UAVoiceModifierHelper).LocalRelease())
356 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Unlock();
357 GetUApi().GetInputByID(UAZoomInToggle).Unlock();
358 GetUApi().GetInputByID(UAPersonView).Unlock();
359 if (playerPB && !playerPB.IsSprinting())
361 GetUApi().GetInputByID(UALeanLeft).Unlock();
362 GetUApi().GetInputByID(UALeanRight).Unlock();
365 manualInputUnlockProcessed =
true;
369 if (
GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalPress() && playerPB)
372 if ( playerPB.IsAlive() && !playerPB.IsRaised() && !playerPB.IsUnconscious() && !playerPB.GetCommand_Vehicle() )
376 RadialQuickbarMenu.OpenMenu();
377 m_Hud.ShowHudUI(
false );
382 bool b1 = RadialQuickbarMenu.GetItemToAssign() != null;
384 if (GetUIManager().IsMenuOpen(
MENU_RADIAL_QUICKBAR ) && (!RadialQuickbarMenu.GetMenuInstance().GetParentMenu() || RadialQuickbarMenu.GetMenuInstance().GetParentMenu() != inventory) && (
GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalRelease() || !
GetUApi().GetInputByID(UAUIQuickbarRadialOpen).LocalValue()))
386 RadialQuickbarMenu.CloseMenu();
387 m_Hud.ShowHudUI(
true );
391 if ((RadialQuickbarMenu.instance && RadialQuickbarMenu.GetMenuInstance().GetParentMenu() && RadialQuickbarMenu.GetMenuInstance().GetParentMenu() == inventory) &&
GetUApi().GetInputByID(UAUIQuickbarRadialInventoryOpen).LocalRelease())
396 RadialQuickbarMenu.CloseMenu();
397 RadialQuickbarMenu.SetItemToAssign(NULL);
401 AddActiveInputExcludes({
"inventory"});
402 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
410 if (playerPB.IsRaised() || playerPB.IsInRasedProne())
412 GetUApi().GetInputByID(UALeanLeftGamepad).Unlock();
413 GetUApi().GetInputByID(UALeanRightGamepad).Unlock();
415 manualInputUnlockProcessed =
true;
419 GetUApi().GetInputByID(UALeanLeftGamepad).Lock();
420 GetUApi().GetInputByID(UALeanRightGamepad).Lock();
424 if (playerPB.IsRaised())
426 GetUApi().GetInputByID(UALookAround).Lock();
427 GetUApi().GetInputByID(UALookAroundToggle).Lock();
429 GetUApi().GetInputByID(UAZeroingUp).Unlock();
430 GetUApi().GetInputByID(UAZeroingDown).Unlock();
432 manualInputUnlockProcessed =
true;
436 GetUApi().GetInputByID(UALookAround).Unlock();
437 GetUApi().GetInputByID(UALookAroundToggle).Unlock();
439 GetUApi().GetInputByID(UAZeroingUp).Lock();
440 GetUApi().GetInputByID(UAZeroingDown).Lock();
442 manualInputUnlockProcessed =
true;
447 if (manualInputUnlockProcessed)
453 if (
GetUApi().GetInputByID(UAUIGesturesOpen).LocalPress() && playerPB)
456 if ( !playerPB.IsRaised() && (playerPB.GetActionManager().ActionPossibilityCheck(playerPB.m_MovementState.m_CommandTypeId) || playerPB.IsEmotePlaying()) && !playerPB.GetCommand_Vehicle() )
458 if (GesturesMenu.CanOpenMenu() && !GetUIManager().IsMenuOpen(
MENU_GESTURES))
460 GesturesMenu.OpenMenu();
461 m_Hud.ShowHudUI(
false);
466 if (
GetUApi().GetInputByID(UAUIGesturesOpen).LocalRelease() ||
GetUApi().GetInputByID(UAUIGesturesOpen).LocalValue() == 0 )
471 GesturesMenu.CloseMenu();
472 m_Hud.ShowHudUI(
true );
476 if (player && m_LifeState ==
EPlayerStates.ALIVE && !player.IsUnconscious() )
481 m_HudRootWidget.Show(
true);
487 if ( GetUIManager().ScreenFadeVisible() )
489 GetUIManager().ScreenFadeOut(0.5);
494 if (
GetUApi().GetInputByID(UAGear).LocalPress())
496 if (!inventory && playerPB.CanManipulateInventory() && IsMapUnfoldActionRunning(runningAction))
499 menu = m_InventoryMenu;
501 else if (menu == inventory && m_InventoryMenu && m_InventoryMenu.IsOpened())
507 if (
GetUApi().GetInputByID(UAUIMenu).LocalPress() && menu && inventory && menu == inventory)
512 #ifndef PLATFORM_CONSOLE
513 if (
GetUApi().GetInputByID(UAChat).LocalPress() && input.IsEnabledMouseAndKeyboardEvenOnServer())
515 ChatInputMenu chat = ChatInputMenu.Cast( m_UIManager.FindMenu(
MENU_CHAT) );
524 VONManager.GetInstance().HandleInput(input);
526 if (
GetUApi().GetInputByID(UAUIQuickbarToggle).LocalHold())
530 m_QuickbarHold =
true;
535 if (
GetUApi().GetInputByID(UAUIQuickbarToggle).LocalRelease())
541 m_QuickbarHold =
false;
544 if (
GetUApi().GetInputByID(UAZeroingUp).LocalPress() ||
GetUApi().GetInputByID(UAZeroingDown).LocalPress() ||
GetUApi().GetInputByID(UAToggleWeapons).LocalPress())
551 m_ActionMenu.Refresh();
553 if (
GetUApi().GetInputByID(UANextActionCategory).LocalPress())
555 m_ActionMenu.NextActionCategory();
557 else if (
GetUApi().GetInputByID(UAPrevActionCategory).LocalPress())
559 m_ActionMenu.PrevActionCategory();
561 else if (
GetUApi().GetInputByID(UANextAction).LocalPress())
563 m_ActionMenu.NextAction();
565 else if (
GetUApi().GetInputByID(UAPrevAction).LocalPress())
567 m_ActionMenu.PrevAction();
576 if (menu == NULL && playerPB.IsPlacingLocal() && playerPB.GetHologramLocal().GetParentEntity().PlacementCanBeRotated())
578 if (
GetUApi().GetInputByID(UANextAction).LocalRelease())
580 playerPB.GetHologramLocal().SubtractProjectionRotation(15);
583 if (
GetUApi().GetInputByID(UAPrevAction).LocalRelease())
585 playerPB.GetHologramLocal().AddProjectionRotation(15);
591 if (
GetUApi().GetInputByID(UAMapToggle).LocalPress() && !m_UIManager.GetMenu())
593 if (IsMapUnfoldActionRunning(runningAction))
595 HandleMapToggleByKeyboardShortcut(player);
604 int life_state = player.GetPlayerState();
605 m_LifeState = life_state;
608 if (menu && !menu.UseKeyboard() && menu.
UseMouse())
611 for (i = 0; i < 5; i++)
618 for (i = 0; i < 6; i++)
624 if (!m_UIManager.IsDialogVisible())
630 if (
GetUApi().GetInputByID(UAGear).LocalPress())
637 else if (
GetUApi().GetInputByID(UAUIBack).LocalPress())
645 else if (menu == note_menu && (!IsInputExcludeActive(
"inventory") || !IsInputRestrictionActive(EInputRestrictors.INVENTORY)))
647 AddActiveInputExcludes({
"inventory"});
648 AddActiveInputRestriction(EInputRestrictors.INVENTORY);
650 else if (menu == gestures_menu && !gestures_menu.
IsMenuClosing() && !IsInputExcludeActive(
"radialmenu"))
652 AddActiveInputExcludes({
"radialmenu"});
653 GetUApi().GetInputByID(UAUIGesturesOpen).Unlock();
655 else if (menu == quickbar_menu && !quickbar_menu.
IsMenuClosing() && !IsInputExcludeActive(
"radialmenu"))
657 AddActiveInputExcludes({
"radialmenu"});
658 GetUApi().GetInputByID(UAUIQuickbarRadialOpen).Unlock();
662 InGameMenuXbox menu_xb = InGameMenuXbox.Cast(
GetGame().GetUIManager().GetMenu());
663 if (!
g_Game.GetUIManager().ScreenFadeVisible() && (!menu_xb || !menu_xb.IsOnlineOpen() && !menu_xb.FeedbackDialogVisible()))
665 if (
GetUApi().GetInputByID(UAUIMenu).LocalPress())
669 else if (
GetUApi().GetInputByID(UAUIBack).LocalPress())
674 else if (
GetUApi().GetInputByID(UAUIBack).LocalPress())
676 if (menu_xb && menu_xb.IsOnlineOpen())
678 menu_xb.CloseOnline();
683 else if (
GetUApi().GetInputByID(UAUIMenu).LocalPress())
685 if (IsMapUnfoldActionRunning(runningAction))
692 UpdateDebugMonitor();
696 if (!
GetGame().IsMultiplayer())
702 if (m_ProcessInputExcludes)
704 PerformRefreshExcludes();
705 m_ProcessInputExcludes =
false;
708 super.OnUpdate( timeslice );