Files
Scampz/Assets/Scripts/Player/PlayerState.cs
2022-08-21 01:59:54 -07:00

32 lines
910 B
C#

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;
private void Start()
{
_animator = GetComponent<Animator>();
_player = GameObject.FindGameObjectWithTag("Player");
_characterController = _player.GetComponent<CharacterController>();
}
private void Update()
{
_canMove = true;
_animator.SetFloat("Speed", _characterController.velocity.magnitude);
var rayCasterExists = TryGetComponent<RayCaster>(out var rayCaster);
if (SceneManager.GetActiveScene().name.Equals("WorldMap") && rayCasterExists)
_canMove = rayCaster.IsWithinBoundsWithRay();
}
public bool CanMove => _canMove;
}
}