Re-think singleton player idea, add raycasting to stop from falling off ledges

This commit is contained in:
2022-08-15 15:40:04 -07:00
parent 4a4add3668
commit 9a245d94c7
23 changed files with 661 additions and 439 deletions

View File

@@ -0,0 +1,32 @@
using UnityEngine;
namespace Scampz.GameJam.Assets.Scripts
{
public class CharacterInputController : MonoBehaviour
{
private CharacterController _controller;
private RayCaster _caster;
public float Speed = 10f;
public float RotateSpeed = 1.0f;
private void Start()
{
_controller = GetComponent<CharacterController>();
_caster = _controller.GetComponent<RayCaster>();
}
void Update()
{
// Rotation
transform.Rotate(0, Input.GetAxis(InputOptions.Horizontal) * RotateSpeed, 0);
// Move
if (_caster.IsWithinBounds())
{
var forward = transform.TransformDirection(Vector3.forward);
var curSpeed = Speed * Input.GetAxis(InputOptions.Vertical);
_controller.SimpleMove(forward * curSpeed);
}
}
}
}