public override void HandleInput() { ProfilerShort.Begin("MyToolbarComponent.HandleInput"); try { var context = MySession.ControlledEntity != null ? MySession.ControlledEntity.ControlContext : MyStringId.NullOrEmpty; var focusedScreen = MyScreenManager.GetScreenWithFocus(); if ((focusedScreen == MyGuiScreenGamePlay.Static || focusedScreen is MyGuiScreenCubeBuilder || focusedScreen is MyGuiScreenToolbarConfigBase) && CurrentToolbar != null) { // if (!(focusedScreen is MyGuiScreenCubeBuilder) || !(focusedScreen.FocusedControl is MyGuiControlTextbox)) { for (int i = 0; i < m_slotControls.Length; i++) { if (MyControllerHelper.IsControl(context, m_slotControls[i], MyControlStateType.NEW_PRESSED)) { if (!MyInput.Static.IsAnyShiftKeyPressed()) { CurrentToolbar.ActivateItemAtSlot(i); } else if (i < CurrentToolbar.PageCount) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.SwitchToPage(i); } } } } if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_UP, MyControlStateType.NEW_PRESSED)) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.PageUp(); } if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_DOWN, MyControlStateType.NEW_PRESSED)) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.PageDown(); } if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_NEXT_ITEM, MyControlStateType.NEW_PRESSED)) { CurrentToolbar.SelectNextSlot(); } else if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_PREV_ITEM, MyControlStateType.NEW_PRESSED)) { CurrentToolbar.SelectPreviousSlot(); } } } finally { ProfilerShort.End(); } base.HandleInput(); }
public override void HandleInput() { ProfilerShort.Begin("MyToolbarComponent.HandleInput"); try { var context = MySession.Static.ControlledEntity != null ? MySession.Static.ControlledEntity.ControlContext : MyStringId.NullOrEmpty; var focusedScreen = MyScreenManager.GetScreenWithFocus(); if ((focusedScreen == MyGuiScreenGamePlay.Static || IsToolbarControlShown) && CurrentToolbar != null && !MyGuiScreenGamePlay.DisableInput) { { for (int i = 0; i < m_slotControls.Length; i++) { if (MyControllerHelper.IsControl(context, m_slotControls[i], MyControlStateType.NEW_PRESSED)) { if (!MyInput.Static.IsAnyCtrlKeyPressed()) { if ((focusedScreen is MyGuiScreenScriptingTools || focusedScreen == MyGuiScreenGamePlay.Static || (focusedScreen is MyGuiScreenCubeBuilder || focusedScreen is MyGuiScreenToolbarConfigBase) && ((MyGuiScreenToolbarConfigBase)focusedScreen).AllowToolbarKeys()) && CurrentToolbar != null) { CurrentToolbar.ActivateItemAtSlot(i); } } else if (i < CurrentToolbar.PageCount) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.SwitchToPage(i); } } } } if ((focusedScreen == MyGuiScreenGamePlay.Static || (focusedScreen is MyGuiScreenCubeBuilder || focusedScreen is MyGuiScreenToolbarConfigBase) && ((MyGuiScreenToolbarConfigBase)focusedScreen).AllowToolbarKeys()) && CurrentToolbar != null) { if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_NEXT_ITEM, MyControlStateType.NEW_PRESSED)) { CurrentToolbar.SelectNextSlot(); } else if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_PREV_ITEM, MyControlStateType.NEW_PRESSED)) { CurrentToolbar.SelectPreviousSlot(); } if (MySpectator.Static.SpectatorCameraMovement != MySpectatorCameraMovementEnum.ConstantDelta) { if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_UP, MyControlStateType.NEW_PRESSED)) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.PageUp(); } if (MyControllerHelper.IsControl(context, MyControlsSpace.TOOLBAR_DOWN, MyControlStateType.NEW_PRESSED)) { MyGuiAudio.PlaySound(MyGuiSounds.HudClick); CurrentToolbar.PageDown(); } } } } } finally { ProfilerShort.End(); } base.HandleInput(); }