using System; using UnityEngine; [Serializable] [AddComponentMenu("Character/FPS Input Controller INFINIGRASS")] [RequireComponent(typeof(CharacterMotorINFINIGRASS))] public class FPSInputControllerINFINIGRASS : MonoBehaviour { private CharacterMotorINFINIGRASS motor; public virtual void Awake() { motor = (CharacterMotorINFINIGRASS)GetComponent(typeof(CharacterMotorINFINIGRASS)); } public virtual void Update() { Vector3 vector = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical")); if (vector != Vector3.zero) { float magnitude = vector.magnitude; vector /= magnitude; magnitude = Mathf.Min(1f, magnitude); magnitude *= magnitude; vector *= magnitude; } motor.inputMoveDirection = transform.rotation * vector; motor.inputJump = Input.GetButton("Jump"); } public virtual void Main() { } }