示例#1
0
        // -------------------
        private UnityEngine.EventSystems.MoveDirection JustPressedDirectionKey()
        {
            bool
                keyLeft  = ControlFreak2.CF2Input.GetKeyDown(KeyCode.LeftArrow),
                keyRight = ControlFreak2.CF2Input.GetKeyDown(KeyCode.RightArrow),
                keyUp    = ControlFreak2.CF2Input.GetKeyDown(KeyCode.UpArrow),
                keyDown  = ControlFreak2.CF2Input.GetKeyDown(KeyCode.DownArrow);

            GamepadManager g = GamepadManager.activeManager;

            if (g != null)
            {
                keyLeft  |= (g.GetCombinedGamepad().leftStick.state.JustPressedDir4(Dir.L) || g.GetCombinedGamepad().dpad.state.JustPressedDir4(Dir.L));
                keyRight |= (g.GetCombinedGamepad().leftStick.state.JustPressedDir4(Dir.R) || g.GetCombinedGamepad().dpad.state.JustPressedDir4(Dir.R));
                keyUp    |= (g.GetCombinedGamepad().leftStick.state.JustPressedDir4(Dir.U) || g.GetCombinedGamepad().dpad.state.JustPressedDir4(Dir.U));
                keyDown  |= (g.GetCombinedGamepad().leftStick.state.JustPressedDir4(Dir.D) || g.GetCombinedGamepad().dpad.state.JustPressedDir4(Dir.D));
            }

            if (keyLeft && keyRight)
            {
                keyLeft = keyRight = false;
            }

            if (keyUp && keyDown)
            {
                keyUp = keyDown = false;
            }

            return(
                keyUp    ? UnityEngine.EventSystems.MoveDirection.Up :
                keyDown?UnityEngine.EventSystems.MoveDirection.Down:
                keyLeft  ? UnityEngine.EventSystems.MoveDirection.Left :
                keyRight ? UnityEngine.EventSystems.MoveDirection.Right :
                UnityEngine.EventSystems.MoveDirection.None);
        }
示例#2
0
        // ---------------
        protected bool SendMoveEventToSelectedObject()
        {
            GamepadManager g = GamepadManager.activeManager;

            if (g == null)
            {
                return(false);
            }

            JoystickState
                leftStick = g.GetCombinedGamepad().GetStick(GamepadManager.GamepadStick.LeftAnalog),
                dpad      = g.GetCombinedGamepad().GetStick(GamepadManager.GamepadStick.Dpad);

            Dir dir = Dir.N;

            if (leftStick.JustReleasedDir4(Dir.N))
            {
                dir = leftStick.GetDir4();
            }
            else if (dpad.JustReleasedDir4(Dir.N))
            {
                dir = dpad.GetDir4();
            }

            Vector2 dirVec = CFUtils.DirToVector(dir, false);

            Vector2 keyboardVec = new Vector2(
                (ControlFreak2.CF2Input.GetKeyDown(KeyCode.RightArrow)  ? 1.0f : ControlFreak2.CF2Input.GetKeyDown(KeyCode.LeftArrow) ? -1.0f : 0),
                (ControlFreak2.CF2Input.GetKeyDown(KeyCode.UpArrow)             ? 1.0f : ControlFreak2.CF2Input.GetKeyDown(KeyCode.DownArrow) ? -1.0f : 0));


            dirVec.x = CFUtils.ApplyDeltaInput(dirVec.x, keyboardVec.x);
            dirVec.y = CFUtils.ApplyDeltaInput(dirVec.y, keyboardVec.y);

            if (dirVec.sqrMagnitude < 0.00001f)
            {
                return(false);
            }


            var axisEventData = GetAxisEventData(dirVec.x, dirVec.y, 0.3f);

            ExecuteEvents.Execute(eventSystem.currentSelectedGameObject, axisEventData, ExecuteEvents.moveHandler);

            if ((this.eventSystem.currentSelectedGameObject != null))
            {
                this.eventSystem.firstSelectedGameObject = this.eventSystem.currentSelectedGameObject;
            }

            return(axisEventData.used);
        }
示例#3
0
        // ------------------
        private bool JustPressedCancelButton()
        {
            if (ControlFreak2.CF2Input.GetKeyDown(KeyCode.Escape))
            {
                return(true);
            }

            GamepadManager g = GamepadManager.activeManager;

            if ((g != null) && (g.GetCombinedGamepad().GetKeyDown(this.cancelGamepadButton) || g.GetCombinedGamepad().GetKeyDown(this.cancelGamepadButtonAlt)))
            {
                return(true);
            }

            return(false);
        }
示例#4
0
        // ------------------
        private bool JustPressedSubmitButton()
        {
            if (UnityEngine.Input.GetKeyDown(KeyCode.Return))
            {
                return(true);
            }

            GamepadManager g = GamepadManager.activeManager;

            if ((g != null) && (g.GetCombinedGamepad().GetKeyDown(this.submitGamepadButton) || g.GetCombinedGamepad().GetKeyDown(this.submitGamepadButtonAlt)))
            {
                return(true);
            }

            return(false);
        }