Example #1
0
        // Run ActionAxis
        internal static void RunActionAxis()
        {
            foreach (ActionData aData in ActionDB)
            {
                if (aData.type == EActionType.KeyCode)
                {
                    continue;
                }

                foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                {
                    EAxisState axisState = aAxis.getAxisState;

                    if (aData.axisPositiveEvents.useDown && axisState == EAxisState.PositiveDown)
                    {
                        aData.axisPositiveEvents.downHandler.Invoke();
                        break;
                    }
                    if (aData.axisPositiveEvents.usePress && axisState == EAxisState.PositivePress)
                    {
                        aData.axisPositiveEvents.pressHandler.Invoke();
                        break;
                    }
                    if (aData.axisPositiveEvents.useUp && axisState == EAxisState.PositiveUp)
                    {
                        aData.axisPositiveEvents.upHandler.Invoke();
                        break;
                    }

                    if (aData.axisNegativeEvents.useDown && axisState == EAxisState.NegativeDown)
                    {
                        aData.axisNegativeEvents.downHandler.Invoke();
                        break;
                    }
                    if (aData.axisNegativeEvents.usePress && axisState == EAxisState.NegativePress)
                    {
                        aData.axisNegativeEvents.pressHandler.Invoke();
                        break;
                    }
                    if (aData.axisNegativeEvents.useUp && axisState == EAxisState.NegativeUp)
                    {
                        aData.axisNegativeEvents.upHandler.Invoke();
                        break;
                    }
                }
            }
        }
Example #2
0
        // Get ActionAxis
        internal static bool GetActionAxis(string m_Name, EAxisState m_State)
        {
            foreach (ActionData aData in ActionDB)
            {
                if (aData.name == m_Name)
                {
                    if (aData.type != EActionType.KeyCode)
                    {
                        foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                        {
                            if (aAxis.getAxisState == m_State)
                            {
                                return(true);
                            }
                        }
                    }

                    return(false);
                }
            }

            Debug.LogError("ActionAxis " + m_Name + " Not Found!");
            return(false);
        }
Example #3
0
        // Get Action
        internal static bool GetAction(string m_Name, EActionEvent m_Event)
        {
            foreach (ActionData aData in ActionDB)
            {
                if (aData.name == m_Name)
                {
                    switch (m_Event)
                    {
                    case EActionEvent.Down:
                        if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                        {
                            foreach (KeyCode key in aData.keys)
                            {
                                if (Input.GetKeyDown(key))
                                {
                                    return(true);
                                }
                            }
                        }
                        if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                        {
                            foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                            {
                                EAxisState axisState = aAxis.getAxisState;
                                if (axisState == EAxisState.NegativeDown || axisState == EAxisState.PositiveDown)
                                {
                                    return(true);
                                }
                            }
                        }
                        break;

                    case EActionEvent.Press:
                        if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                        {
                            foreach (KeyCode key in aData.keys)
                            {
                                if (Input.GetKey(key))
                                {
                                    return(true);
                                }
                            }
                        }
                        if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                        {
                            foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                            {
                                EAxisState axisState = aAxis.getAxisState;
                                if (axisState == EAxisState.NegativePress || axisState == EAxisState.PositivePress)
                                {
                                    return(true);
                                }
                            }
                        }
                        break;

                    case EActionEvent.Up:
                        if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                        {
                            foreach (KeyCode key in aData.keys)
                            {
                                if (Input.GetKeyUp(key))
                                {
                                    return(true);
                                }
                            }
                        }
                        if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                        {
                            foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                            {
                                EAxisState axisState = aAxis.getAxisState;
                                if (axisState == EAxisState.NegativeUp || axisState == EAxisState.PositiveUp)
                                {
                                    return(true);
                                }
                            }
                        }
                        break;
                    }
                    return(false);
                }
            }

            Debug.LogError("Action " + m_Name + " Not Found!");
            return(false);
        }
Example #4
0
        // Run Actions
        internal static void RunActions()
        {
            foreach (ActionData aData in ActionDB)
            {
                if (aData.actionEvents.useDown)
                {
                    if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                    {
                        foreach (KeyCode key in aData.keys)
                        {
                            if (Input.GetKeyDown(key))
                            {
                                aData.actionEvents.downHandler.Invoke();
                                break;
                            }
                        }
                    }
                    if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                    {
                        foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                        {
                            EAxisState axisState = aAxis.getAxisState;
                            if (axisState == EAxisState.NegativeDown || axisState == EAxisState.PositiveDown)
                            {
                                aData.actionEvents.downHandler.Invoke();
                                break;
                            }
                        }
                    }
                }

                if (aData.actionEvents.usePress)
                {
                    if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                    {
                        foreach (KeyCode key in aData.keys)
                        {
                            if (Input.GetKeyDown(key))
                            {
                                aData.actionEvents.pressHandler.Invoke();
                                break;
                            }
                        }
                    }
                    if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                    {
                        foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                        {
                            EAxisState axisState = aAxis.getAxisState;
                            if (axisState == EAxisState.NegativeDown || axisState == EAxisState.PositiveDown)
                            {
                                aData.actionEvents.pressHandler.Invoke();
                                break;
                            }
                        }
                    }
                }

                if (aData.actionEvents.useUp)
                {
                    if (aData.type == EActionType.KeyCode || aData.type == EActionType.Mixed)
                    {
                        foreach (KeyCode key in aData.keys)
                        {
                            if (Input.GetKeyDown(key))
                            {
                                aData.actionEvents.upHandler.Invoke();
                                break;
                            }
                        }
                    }
                    if (aData.type == EActionType.Axis || aData.type == EActionType.Mixed)
                    {
                        foreach (ActionData.ActionAxis aAxis in aData.actionAxes)
                        {
                            EAxisState axisState = aAxis.getAxisState;
                            if (axisState == EAxisState.NegativeDown || axisState == EAxisState.PositiveDown)
                            {
                                aData.actionEvents.upHandler.Invoke();
                                break;
                            }
                        }
                    }
                }
                //
            }
        }
Example #5
0
        // Unbind ActionAxis
        internal static void UnbindActionAxis(string m_Name, EAxisState m_State, ActionHandler m_Handler)
        {
            foreach (ActionData aData in ActionDB)
            {
                if (aData.name == m_Name)
                {
                    switch (m_State)
                    {
                    case EAxisState.PositiveDown:
                        if (aData.axisPositiveEvents.downHandler == m_Handler)
                        {
                            aData.axisPositiveEvents.downHandler -= m_Handler;
                            aData.axisPositiveEvents.useDown      = (aData.axisPositiveEvents.downHandler != null);
                        }
                        break;

                    case EAxisState.PositivePress:
                        if (aData.axisPositiveEvents.pressHandler == m_Handler)
                        {
                            aData.axisPositiveEvents.pressHandler -= m_Handler;
                            aData.axisPositiveEvents.usePress      = (aData.axisPositiveEvents.pressHandler != null);
                        }
                        break;

                    case EAxisState.PositiveUp:
                        if (aData.axisPositiveEvents.upHandler == m_Handler)
                        {
                            aData.axisPositiveEvents.upHandler -= m_Handler;
                            aData.axisPositiveEvents.useUp      = (aData.axisPositiveEvents.upHandler != null);
                        }
                        break;

                    case EAxisState.NegativeDown:
                        if (aData.axisNegativeEvents.downHandler == m_Handler)
                        {
                            aData.axisNegativeEvents.downHandler -= m_Handler;
                            aData.axisNegativeEvents.useDown      = (aData.axisNegativeEvents.downHandler != null);
                        }
                        break;

                    case EAxisState.NegativePress:
                        if (aData.axisNegativeEvents.pressHandler == m_Handler)
                        {
                            aData.axisNegativeEvents.pressHandler -= m_Handler;
                            aData.axisNegativeEvents.usePress      = (aData.axisNegativeEvents.pressHandler != null);
                        }
                        break;

                    case EAxisState.NegativeUp:
                        if (aData.axisNegativeEvents.upHandler == m_Handler)
                        {
                            aData.axisNegativeEvents.upHandler -= m_Handler;
                            aData.axisNegativeEvents.useUp      = (aData.axisNegativeEvents.upHandler != null);
                        }
                        break;
                    }
                    return;
                }
            }
            //
            Debug.LogError("Action " + m_Name + " Not Found.");
        }
Example #6
0
 // Get ActionAxis
 public static bool GetActionAxis(string m_Name, EAxisState m_State)
 {
     return(InputSettings.GetActionAxis(m_Name, m_State));
 }
Example #7
0
 // Unbind ActionAxis
 public static void UnbindActionAxis(string m_Name, EAxisState m_State, ActionHandler m_Handler)
 {
     InputSettings.UnbindActionAxis(m_Name, m_State, m_Handler);
 }