예제 #1
0
    private Boolean handleMenuControlKeyPressCustomInput(GameObject activeButton = null)
    {
        UIScene sceneFromState = PersistenSingleton <UIManager> .Instance.GetSceneFromState(PersistenSingleton <UIManager> .Instance.State);

        if (ButtonGroupState.ActiveButton && ButtonGroupState.ActiveButton != PersistenSingleton <UIManager> .Instance.gameObject)
        {
            activeButton = ButtonGroupState.ActiveButton;
        }
        else if (activeButton == null)
        {
            activeButton = UICamera.selectedObject;
        }
        if (sceneFromState != null && (!PersistenSingleton <UIManager> .Instance.Dialogs.Activate || PersistenSingleton <UIManager> .Instance.IsPause))
        {
            if (sceneFromState.GetType() == typeof(ConfigUI) && FF9StateSystem.AndroidTVPlatform && PersistenSingleton <HonoInputManager> .Instance.IsInputDown(8))
            {
                if (PersistenSingleton <UIManager> .Instance.IsPauseControlEnable)
                {
                    sceneFromState.OnKeyPause(activeButton);
                }
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(1) || keyCommand == Control.Cancel)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeyCancel(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(0) || keyCommand == Control.Confirm)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeyConfirm(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(8) || keyCommand == Control.Pause)
            {
                keyCommand = Control.None;
                if (PersistenSingleton <UIManager> .Instance.IsPauseControlEnable)
                {
                    sceneFromState.OnKeyPause(activeButton);
                }
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(9) || keyCommand == Control.Select)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeySelect(UICamera.selectedObject);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(2) || keyCommand == Control.Menu)
            {
                keyCommand = Control.None;
                if (FF9StateSystem.AndroidTVPlatform && FF9StateSystem.EnableAndroidTVJoystickMode && (PersistenSingleton <HonoInputManager> .Instance.GetSource(Control.Menu) == SourceControl.Joystick && PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Pause))
                {
                    sceneFromState.OnKeyMenu(activeButton);
                }
                else if (PersistenSingleton <UIManager> .Instance.IsMenuControlEnable)
                {
                    sceneFromState.OnKeyMenu(activeButton);
                }
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(3) || keyCommand == Control.Special)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeySpecial(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(4) || keyCommand == Control.LeftBumper)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeyLeftBumper(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(5) || keyCommand == Control.RightBumper)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeyRightBumper(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(6) || keyCommand == Control.LeftTrigger)
            {
                BattleHUD.ForceNextTurn = true;
                keyCommand = Control.None;
                sceneFromState.OnKeyLeftTrigger(activeButton);
                return(true);
            }
            if (PersistenSingleton <HonoInputManager> .Instance.IsInputDown(7) || keyCommand == Control.RightTrigger)
            {
                keyCommand = Control.None;
                sceneFromState.OnKeyRightTrigger(activeButton);
                return(true);
            }
        }

        if (AltKey)
        {
            if (F2KeyDown)
            {
                OnPartySceneCommandDetected(sceneFromState);
                return(true);
            }
            if (F4KeyDown)
            {
                OnQuitCommandDetected(sceneFromState);
                return(true);
            }
            if (F5KeyDown)
            {
                OnSaveLoadSceneCommandDetected(sceneFromState, SaveLoadUI.SerializeType.Save);
                return(true);
            }
            if (F9KeyDown)
            {
                OnSaveLoadSceneCommandDetected(sceneFromState, SaveLoadUI.SerializeType.Load);
                return(true);
            }
            if (SpaceKeyDown)
            {
                Configuration.Graphics.WidescreenSupport = !Configuration.Graphics.WidescreenSupport;
                return(true);
            }

            if (ShiftKey && ControlKey)
            {
                if (SKeyDown)
                {
                    OnSoundDebugRoomCommandDetected();
                    return(true);
                }

                if (F12KeyDown)
                {
                    GameObjectService.Start();
                    return(true);
                }
            }
        }

        if (ShiftKey && F4KeyDown)
        {
            SettingsState.IsRapidEncounter = !SettingsState.IsRapidEncounter;
            return(true);
        }

        return(false);
    }