Files
Scampz/Assets/Scripts/Input/RayCaster.cs
2022-08-18 12:06:09 -07:00

38 lines
1.2 KiB
C#

using UnityEngine;
namespace Scampz.GameJam.Assets.Scripts
{
public class RayCaster : MonoBehaviour
{
[SerializeField]
private float rayCastDistance = 1f;
[SerializeField]
private float rayCastAngle = 45f;
[SerializeField]
private float sphereRadius = 2f;
//public bool IsWithinBounds()
//{
// var offsetAngle = Quaternion.AngleAxis(rayCastAngle, transform.right);
// return Physics.Raycast(transform.position, offsetAngle * transform.forward);
//}
public bool IsWithinBounds()
{
var offsetAngle = Quaternion.AngleAxis(rayCastAngle, transform.right);
var ray = new Ray(transform.position, offsetAngle * transform.forward);
return Physics.SphereCast(ray, sphereRadius, rayCastDistance);
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
var offsetAngle = Quaternion.AngleAxis(rayCastAngle, transform.right);
var direction = offsetAngle * transform.forward;
Debug.DrawLine(transform.position, transform.position + direction * rayCastDistance);
Gizmos.DrawWireSphere(transform.position + direction * rayCastDistance, sphereRadius);
}
}
}