/// <summary> /// 结束输入移动 /// </summary> /// <param name="direction">移动方向</param> public void EndInputMoveDirection() { isinput = false; MountsComponent mountsComponent = Owner.GetUnitComponent <MountsComponent>(); if (mountsComponent != null && mountsComponent.IsRide) { mountsComponent.SetRun(false); } }
/// <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); }