// ====================================================================================== public static bool GetMenuButton(eMenuButton _menuButton) { #if UNITY_EDITOR Debug.Assert(m_manager != null, "InputMgr - Missing InputMgrConfig in Project"); if (m_manager.m_pcDebugMode && _menuButton == eMenuButton.SUBMIT) { return(Input.GetKey(KeyCode.Return)); } #endif bool isPressed = false; for (int player = 0; player < 4; player++) { GamePadState gamePadState = GamePad.GetState((PlayerIndex)(player)); switch (_menuButton) { case eMenuButton.SUBMIT: isPressed |= GetButton(gamePadState, m_manager.m_submitButton); break; case eMenuButton.PREVIOUS: isPressed |= GetButton(gamePadState, m_manager.m_previousButton); break; case eMenuButton.PAUSE: isPressed |= GetButton(gamePadState, m_manager.m_pauseButton); break; case eMenuButton.LEFT: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_LEFT) || gamePadState.ThumbSticks.Left.X < -m_manager.m_triggMinRatio; break; case eMenuButton.RIGHT: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_RIGHT) || gamePadState.ThumbSticks.Left.X > m_manager.m_triggMinRatio; break; case eMenuButton.UP: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_UP) || gamePadState.ThumbSticks.Left.Y > m_manager.m_triggMinRatio; break; case eMenuButton.DOWN: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_DOWN) || gamePadState.ThumbSticks.Left.Y < -m_manager.m_triggMinRatio; break; case eMenuButton.CHANGE_COLOR: isPressed |= GetButton(gamePadState, m_manager.m_changeColorButton); break; } } return(isPressed); }
// ====================================================================================== public static bool GetMenuButton(int _player, eMenuButton _menuButton) { #if UNITY_EDITOR Debug.Assert(m_manager != null, "InputMgr - Missing InputMgrConfig in Project"); #endif if (_player > 4 || _player <= 0) { return(false); } bool isPressed = false; GamePadState gamePadState = GamePad.GetState((PlayerIndex)(_player - 1)); switch (_menuButton) { case eMenuButton.SUBMIT: isPressed |= GetButton(gamePadState, m_manager.m_submitButton); break; case eMenuButton.PREVIOUS: isPressed |= GetButton(gamePadState, m_manager.m_previousButton); break; case eMenuButton.PAUSE: isPressed |= GetButton(gamePadState, m_manager.m_pauseButton); break; case eMenuButton.LEFT: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_LEFT) || gamePadState.ThumbSticks.Left.X < -m_manager.m_triggMinRatio; break; case eMenuButton.RIGHT: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_RIGHT) || gamePadState.ThumbSticks.Left.X > m_manager.m_triggMinRatio; break; case eMenuButton.UP: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_UP) || gamePadState.ThumbSticks.Left.Y < -m_manager.m_triggMinRatio; break; case eMenuButton.DOWN: isPressed |= GetButton(gamePadState, eXBoxButton.DPAD_DOWN) || gamePadState.ThumbSticks.Left.Y > m_manager.m_triggMinRatio; break; case eMenuButton.CHANGE_COLOR: isPressed |= GetButton(gamePadState, m_manager.m_changeColorButton); break; } return(isPressed); }