Files
RebootKit/Runtime/Engine/Code/Simulation/Sensors/RaycastSensor.cs
2025-07-11 14:40:42 +02:00

29 lines
717 B
C#

using UnityEngine;
namespace RebootKit.Engine.Simulation.Sensors {
public class RaycastSensor : ISensor {
public LayerMask layerMask;
public float maxDistance;
public Ray ray;
public bool HasHit { get; private set; }
public RaycastHit Hit { get; private set; }
public GameObject Sense() {
HasHit = Physics.Raycast(ray, out RaycastHit hit, maxDistance, layerMask);
if (HasHit) {
Hit = hit;
return Hit.transform.gameObject;
}
Hit = default;
return null;
}
public void Clear() {
HasHit = false;
Hit = default;
}
}
}