38 lines
1.2 KiB
C#
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);
|
|
|
|
}
|
|
}
|
|
}
|