Esempio n. 1
0
        /// <summary>
        /// 结束输入移动
        /// </summary>
        /// <param name="direction">移动方向</param>
        public void EndInputMoveDirection()
        {
            isinput = false;
            MountsComponent mountsComponent = Owner.GetUnitComponent <MountsComponent>();

            if (mountsComponent != null && mountsComponent.IsRide)
            {
                mountsComponent.SetRun(false);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 更新输入
        /// </summary>
        private void UpdateInput(float deltaTime, float unscaledDeltaTime)
        {
            MountsComponent mountsComponent = Owner.GetUnitComponent <MountsComponent>();

            if (mountsComponent != null && mountsComponent.IsRide)
            {
                mountsComponent.Mounts.transform.rotation = Quaternion.Slerp(Owner.transform.rotation, InputRotation, deltaTime * 15f);
                mountsComponent.Mounts.CharacterController.Move(m_InputMoveDirection * Speed * m_InputSpeed * deltaTime);
                mountsComponent.SetRun(true);
                return;
            }

            Owner.transform.rotation = Quaternion.Slerp(Owner.transform.rotation, InputRotation, deltaTime * 15f);
            m_CharacterController.Move(m_InputMoveDirection * Speed * m_InputSpeed * deltaTime);
            m_AnimatorComponent.SetFloatValue(Constant.AnimatorParam.Speed, Speed * m_InputSpeed);
        }