using UnityEngine; using UnityEngine.SceneManagement; namespace Scampz.GameJam.Assets.Scripts.Player { public class PlayerState : MonoBehaviour { private Animator _animator; private bool _canMove; private GameObject _player; private CharacterController _characterController; public string SceneName; private void Start() { _animator = GetComponent(); _player = GameObject.FindGameObjectWithTag("Player"); _characterController = _player.GetComponent(); } private void Update() { _canMove = true; _animator.SetFloat("Speed", _characterController.velocity.magnitude); var rayCasterExists = TryGetComponent(out var rayCaster); if (SceneManager.GetActiveScene().name.Equals("WorldMap") && rayCasterExists) _canMove = rayCaster.IsWithinBoundsWithRay(); if (SceneName != string.Empty && SceneName != "WorldMap") SceneName = SceneManager.GetActiveScene().name; } public bool CanMove => _canMove; } }