|
|
|
|
|
|
|
using Fusion;
|
|
|
|
using UnityEngine;
|
|
|
|
using Sirenix.OdinInspector;
|
|
|
|
|
|
|
|
[HideLabel]
|
|
|
|
[System.Serializable]
|
|
|
|
public class MovementSettings
|
|
|
|
{
|
|
|
|
[Title("Movement Settings")]
|
|
|
|
[SerializeField] public float MoveSpeed = 4f;
|
|
|
|
[SerializeField] public float SprintSpeed = 9f;
|
|
|
|
[Range(0f, 1f)]
|
|
|
|
[SerializeField] public float RotationSmooth = 0.1f;
|
|
|
|
[SerializeField] public float JumpImpulsePeak = 8f;
|
|
|
|
[SerializeField] public float UpGravity = -25f;
|
|
|
|
[SerializeField] public float DownGravity = -40f;
|
|
|
|
[SerializeField] public float GroundAcceleration = 10f;
|
|
|
|
[SerializeField] public float GroundDeceleration = 15f;
|
|
|
|
[SerializeField] public float AirAcceleration = -25f;
|
|
|
|
[SerializeField] public float AirDeceleration = -25f;
|
|
|
|
}//class end
|
|
|
|
|
|
|
|
[HideLabel]
|
|
|
|
[System.Serializable]
|
|
|
|
public class MovementData
|
|
|
|
{
|
|
|
|
// [Title("Movement Settings")]
|
|
|
|
// [SerializeField] public float MoveSpeed = 4f;
|
|
|
|
// [SerializeField] public float SprintSpeed = 9f;
|
|
|
|
// [Range(0f, 1f)]
|
|
|
|
// [SerializeField] public float RotationSmooth = 0.1f;
|
|
|
|
// [SerializeField] public float JumpImpulsePeak = 8f;
|
|
|
|
// [SerializeField] public float UpGravity = -25f;
|
|
|
|
// [SerializeField] public float DownGravity = -40f;
|
|
|
|
// [SerializeField] public float GroundAcceleration = 10f;
|
|
|
|
// [SerializeField] public float GroundDeceleration = 15f;
|
|
|
|
// [SerializeField] public float AirAcceleration = -25f;
|
|
|
|
// [SerializeField] public float AirDeceleration = -25f;
|
|
|
|
// [SerializeField] public MovementSettings MovementSettings = new();
|
|
|
|
|
|
|
|
[HideInInspector] public GameObject MainCamera = null;
|
|
|
|
[HideInInspector] public float Speed = 0f;
|
|
|
|
[HideInInspector] public float TargetSpeed = 0f;
|
|
|
|
[HideInInspector] public float MovementSpeed = 0f;
|
|
|
|
[HideInInspector] public float RotationVelocity = 0f;
|
|
|
|
[HideInInspector] public float TargetRotation = 0f;
|
|
|
|
[HideInInspector] public float TargetRotationMove = 0f;
|
|
|
|
[HideInInspector] public float Acceleration = 0f;
|
|
|
|
[HideInInspector] public Vector3 InputDirection = Vector3.zero;
|
|
|
|
[HideInInspector] public float JumpImpulse = 0f;
|
|
|
|
[HideInInspector] public Vector3 DesiredMoveVelocity = Vector3.zero;
|
|
|
|
|
|
|
|
[Networked]
|
|
|
|
[HideInInspector] public Vector3 MoveVelocity { get; set; }
|
|
|
|
|
|
|
|
}//class end
|