Files
Scampz/Assets/Scripts/Input/CharacterInputController.cs

37 lines
1.0 KiB
C#

using Scampz.GameJam.Assets.Scripts.Player;
using UnityEngine;
namespace Scampz.GameJam.Assets.Scripts
{
public class CharacterInputController : MonoBehaviour
{
private CharacterController _controller;
public float Speed = 10f;
public float RotateSpeed = 720.0f;
private PlayerState _playerState;
private void Start()
{
_controller = GetComponent<CharacterController>();
_playerState = GetComponent<PlayerState>();
}
void Update()
{
//Physics.Raycast(transform.position, -transform.up, out var hit, 10f);
//var slope = hit.normal.y;
var direction = new Vector3(Input.GetAxisRaw(InputOptions.Horizontal), 0, Input.GetAxisRaw(InputOptions.Vertical)).normalized;
if (_playerState.CanMove)
_controller.SimpleMove(-direction * Speed);
if (direction != Vector3.zero)
{
var toRotation = Quaternion.LookRotation(-direction, Vector3.up);
transform.rotation = Quaternion.RotateTowards(transform.rotation, toRotation, RotateSpeed);
}
}
}
}