public bool GetNegativeButtonUp(int i_ActionId)
        {
            if (!m_IsActive)
            {
                return(false);
            }

            int controlId = Hash.s_NULL;

            if (!GetControlId(i_ActionId, out controlId))
            {
                return(false);
            }

            WiFiAxisData axisData = null;

            if (m_AxesData.TryGetValue(controlId, out axisData))
            {
                bool value     = axisData.negativePressed;
                bool prevValue = axisData.prevNegativePressed;

                return(!value && prevValue);
            }

            return(false);
        }
        public bool GetButton(int i_ActionId)
        {
            if (!m_IsActive)
            {
                return(false);
            }

            int controlId = Hash.s_NULL;

            if (!GetControlId(i_ActionId, out controlId))
            {
                return(false);
            }

            WiFiButtonData buttonData = null;

            if (m_ButtonsData.TryGetValue(controlId, out buttonData))
            {
                bool buttonValue = buttonData.value;
                return(buttonValue);
            }
            else
            {
                WiFiAxisData axisData = null;
                if (m_AxesData.TryGetValue(controlId, out axisData))
                {
                    bool axisPressed = axisData.pressed;
                    return(axisPressed);
                }
            }

            return(false);
        }
        public bool GetPositiveButton(int i_ActionId)
        {
            if (!m_IsActive)
            {
                return(false);
            }

            int controlId = Hash.s_NULL;

            if (!GetControlId(i_ActionId, out controlId))
            {
                return(false);
            }

            WiFiAxisData axisData = null;

            if (m_AxesData.TryGetValue(controlId, out axisData))
            {
                bool value = axisData.positivePressed;
                return(value);
            }

            return(false);
        }
        public float GetAxis(int i_ActionId)
        {
            if (!m_IsActive)
            {
                return(0f);
            }

            int controlId = Hash.s_NULL;

            if (!GetControlId(i_ActionId, out controlId))
            {
                return(0f);
            }

            WiFiAxisData axisData = null;

            if (m_AxesData.TryGetValue(controlId, out axisData))
            {
                float axisValue = axisData.value;
                return(axisValue);
            }

            return(0f);
        }