private void Movement(Vector3 targetPosition)
 {
     if (Vector3.Distance(character.transform.position, targetPosition) >= movementValidationRange)
     {
         character.Move(Vector3.Scale(targetPosition - character.transform.position, new Vector3(1, 0, 1)).normalized);
     }
     else
     {
         character.Rotate(Vector3.Scale(targetPosition - character.transform.position, new Vector3(1, 0, 1)).normalized);
         character.NoMove();
     }
 }
        public void CheckInputs()
        {
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                menuEquipement.Open();
                return;
            }
            float forWalk       = 0;
            float sideWalk      = 0;
            bool  movementInput = false;

            if (UnityEngine.Input.GetKey(KeyCode.Z) && !UnityEngine.Input.GetKey(KeyCode.S))
            {
                forWalk       = 1;
                movementInput = true;
            }
            else if (UnityEngine.Input.GetKey(KeyCode.S))
            {
                forWalk       = -1;
                movementInput = true;
            }
            if (UnityEngine.Input.GetKey(KeyCode.Q) && !UnityEngine.Input.GetKey(KeyCode.D))
            {
                sideWalk      = -1;
                movementInput = true;
            }
            else if (UnityEngine.Input.GetKey(KeyCode.D))
            {
                sideWalk      = 1;
                movementInput = true;
            }
            if (movementInput)
            {
                Vector3 direction = playerCamera.transform.forward * forWalk + playerCamera.transform.right * sideWalk;
                direction.y = 0;
                if (UnityEngine.Input.GetKeyDown(KeyCode.Space))
                {
                    character.Dash(direction.normalized);
                }
                else if (UnityEngine.Input.GetMouseButtonDown(0))
                {
                    character.Attack(true);
                }
                else if (UnityEngine.Input.GetMouseButtonDown(1))
                {
                    character.Bash(true);
                }
                else if (lockTarget != null)
                {
                    direction.x = sideWalk;
                    direction.z = forWalk;
                    character.Strafe(playerCamera.transform.forward, direction.normalized);
                }
                else
                {
                    character.Move(direction.normalized);
                }
            }
            else
            {
                if (UnityEngine.Input.GetKeyDown(KeyCode.Space))
                {
                    character.Dash();
                }
                else if (UnityEngine.Input.GetMouseButtonDown(0))
                {
                    character.Attack(false);
                }
                else if (UnityEngine.Input.GetMouseButtonDown(1))
                {
                    character.Bash(false);
                }
                else if (lockTarget != null)
                {
                    Vector3 direction = playerCamera.transform.forward;
                    direction.y = 0;
                    character.Rotate(direction.normalized);
                }
                else
                {
                    character.NoMove();
                }
            }
            if (UnityEngine.Input.GetKeyDown(KeyCode.A))
            {
                Interact();
            }
            if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1))
            {
                character.UseSpell(0, lockTarget);
            }
            if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2))
            {
                character.UseSpell(1, lockTarget);
            }
            if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3))
            {
                character.UseSpell(2, lockTarget);
            }
            if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4))
            {
                character.UseSpell(3, lockTarget);
            }
            if (UnityEngine.Input.GetMouseButtonDown(2))
            {
                UpdateLockOn();
            }
        }
 private void Movement(Character target)
 {
     character.Rotate(Vector3.Scale(target.transform.position - character.transform.position, new Vector3(1, 0, 1)).normalized);
     character.NoMove();
 }