Exemplo n.º 1
0
        protected virtual void UpdateInputMoveAxis(float fHorizontal, float fVertical)
        {
            if (actorData == null)
            {
                return;
            }

            var hInput = m_hActorData.m_hInputData;

            InputUtility.CalculateAxis(ref hInput.m_fHorizontal, fHorizontal, m_fSensitivity, m_fGravity, Time.deltaTime);
            InputUtility.CalculateAxis(ref hInput.m_fVertical, fVertical, m_fSensitivity, m_fGravity, Time.deltaTime);
            m_hActorData.m_hInputData = hInput;
        }
Exemplo n.º 2
0
        protected virtual void UpdateInputMoveAxis()
        {
            if (m_hHorizontal != null)
            {
                InputUtility.CalculateAxis(ref m_hInputData.m_fHorizontal, m_hHorizontal.ReadValue <float>(), m_fSensitivity, m_fGravity, Time.deltaTime);
            }

            if (m_hVertical != null)
            {
                InputUtility.CalculateAxis(ref m_hInputData.m_fVertical, m_hVertical.ReadValue <float>(), m_fSensitivity, m_fGravity, Time.deltaTime);
            }

            if (m_hCursorX != null)
            {
                InputUtility.CalculateAxis(ref m_hInputData.m_fCursorX, m_hCursorX.ReadValue <float>(), m_fSensitivity, m_fGravity, Time.deltaTime);
            }

            if (m_hCursorY != null)
            {
                InputUtility.CalculateAxis(ref m_hInputData.m_fCursorY, m_hCursorY.ReadValue <float>(), m_fSensitivity, m_fGravity, Time.deltaTime);
            }
        }
Exemplo n.º 3
0
        public void OnUpdate()
        {
            float fTime       = Time.unscaledTime;
            float fDeltaTime  = Time.unscaledDeltaTime;
            float fDelayClear = 0.2f;

            for (int i = 0; i < m_lstPlayerInput.Count; i++)
            {
                var hInput = m_lstPlayerInput[i];
                for (int j = 0; j < hInput.m_arrAxis.Length; j++)
                {
                    var hAxis = hInput.m_arrAxis[j];
                    if (hAxis.m_eLastHorizontalTap != 0)
                    {
                        if (fTime >= hAxis.m_fHorizontalReleaseTime + fDelayClear)
                        {
                            hAxis.m_eLastHorizontalTap = 0;
                        }
                    }

                    if (hAxis.m_eLastVerticalTap != 0)
                    {
                        if (fTime >= hAxis.m_fVerticalReleaseTime + fDelayClear)
                        {
                            hAxis.m_eLastVerticalTap = 0;
                        }
                    }

                    if (hAxis.m_vAxis != hAxis.m_vRawAxis)
                    {
                        InputUtility.CalculateAxis(ref hAxis.m_vAxis.x, hAxis.m_vRawAxis.x, m_fSensitivity, m_fGravity, fDeltaTime);
                        InputUtility.CalculateAxis(ref hAxis.m_vAxis.y, hAxis.m_vRawAxis.y, m_fSensitivity, m_fGravity, fDeltaTime);
                    }

                    hInput.m_arrAxis[j] = hAxis;
                }

                UpdateEventCallback(ref hInput);

                m_lstPlayerInput[i] = hInput;
            }


            #region Method

            void UpdateEventCallback(ref InputData hInput)
            {
                foreach (var hButton in hInput.m_dicButton)
                {
                    var hButtonID = hButton.Key;
                    var hValue    = hButton.Value;
                    switch (hValue.m_eGetType)
                    {
                    case GetInputType.Hold:
                        hValue.m_hInputEvent?.Run(GetInputType.Hold);
                        break;
                    }
                }
            }

            #endregion
        }