/// <summary>
    /// Pulls information from the engine into the controller/data structure
    /// </summary>
    public void EnginePull()
    {
        c_inputData.f_inputAxisLHoriz = GlobalInputController.GetAnalogInputAction(ControlAction.SPIN_AXIS);
        c_inputData.f_inputAxisLVert  = GlobalInputController.GetAnalogInputAction(ControlAction.FLIP_AXIS);

        CheckForZone();
    }
Exemple #2
0
    // Update is called once per frame
    public override void UpdateEditor()
    {
        if (!c_controllerData.b_editorActive)
        {
            return;
        }

        float inputAxisValue = GlobalInputController.GetAnalogInputAction(ControlAction.SPIN_AXIS);

        if (inputAxisValue < -0.5f)
        {
            c_controllerData.i_increasing = -1;
            sm_editController.Execute(Command.MENU_TICK_INPUT);
        }
        else if (inputAxisValue > 0.5f)
        {
            c_controllerData.i_increasing = 1;
            sm_editController.Execute(Command.MENU_TICK_INPUT);
        }
        else
        {
            // no input, unready
            c_controllerData.i_increasing = 0;
        }

        if (float.Equals(c_controllerData.f_currentTickTime, c_controllerData.f_maxTickTime))
        {
            sm_editController.Execute(Command.MENU_READY);
        }
        else
        {
            sm_editController.Execute(Command.MENU_IDLE);
        }

        if (c_controllerData.i_increasing == 0)
        {
            sm_editController.Execute(Command.MENU_READY);
        }

        if (!CheckForConfirmation())
        {
            return;
        }

        if (GlobalInputController.GetInputAction(ControlAction.CONFIRM, KeyValue.PRESSED))
        {
            ConfirmDataEdit(CurrentTarget);
            Deactivate();
        }

        else if (GlobalInputController.GetInputAction(ControlAction.BACK, KeyValue.PRESSED))
        {
            CancelDataEdit();
            Deactivate();
        }

        sm_editController.Act();
        EnginePush();
    }
    public void UpdateMenu()
    {
        if (c_activeMenuData.b_editorActive)
        {
            c_activeMenuItem.UpdateEditor();
            return;
        }

        if (c_activeMenuData.b_menuActive == false)
        {
            return;
        }

        c_activeMenuData.i_menuMousePositionItemIndex = -1;
        CheckMouseInput();

        float inputAxisValue = GlobalInputController.GetAnalogInputAction(ControlAction.FLIP_AXIS);

        if (inputAxisValue > 0.5f)
        {
            c_activeMenuData.i_menuDir = -1; // menus are often organized top to bottom
        }
        else if (inputAxisValue < -0.5f)
        {
            c_activeMenuData.i_menuDir = 1;
        }
        else
        {
            c_activeMenuData.i_menuDir = 0;
        }

        if (!CheckForConfirmation())
        {
            return;
        }

        if (GlobalInputController.GetInputAction(ControlAction.BACK, KeyValue.PRESSED))
        {
            // return to previous menu
            c_activeMenuItem.MenuCommandBack();
        }

        if (GlobalInputController.GetInputAction(ControlAction.CONFIRM, KeyValue.PRESSED) ||
            c_activeMenuData.b_menuItemClicked)
        {
            c_activeMenuItem.ExecuteMenuCommand();
        }

        UpdateStateMachine();

        SetActiveMenuItemIndex();
    }
Exemple #4
0
    void FixedUpdate()
    {
        c_activeMenuData.v_lastFramePosition = c_activeMenuData.v_currentPosition;
        if (c_activeMenuData.b_showMenu == true)
        {
            float inputAxisValue = GlobalInputController.GetAnalogInputAction(ControlAction.FLIP_AXIS);
            if (inputAxisValue > 0.5f)
            {
                c_activeMenuData.i_menuDir = -1; // menus are often organized top to bottom
            }
            else if (inputAxisValue < -0.5f)
            {
                c_activeMenuData.i_menuDir = 1;
            }
            else
            {
                c_activeMenuData.i_menuDir = 0;
            }

            if (GlobalInputController.GetInputAction(ControlAction.CONFIRM, KeyValue.PRESSED))
            {
                c_activeMenuItem.ExecuteMenuCommand();
            }
        }

        UpdateStateMachine();

        sm_menuInput.Act();
        sm_pauseMenu.Act();

        if (i_activeMenuItemIndex != c_activeMenuData.i_activeMenuItemIndex)
        {
            c_activeMenuItem.ExecuteStateMachineCommand(Command.UNSELECT);
            i_activeMenuItemIndex = c_activeMenuData.i_activeMenuItemIndex;
            c_activeMenuItem      = MenuItems[i_activeMenuItemIndex];
            c_activeMenuItem.ExecuteStateMachineCommand(Command.SELECT);
        }
    }