This commit is contained in:
CortexCore
2023-10-04 16:50:27 +08:00
parent 947e52e748
commit 5cd094ed9a
263 changed files with 144068 additions and 66 deletions

View File

@@ -19,6 +19,7 @@ namespace BITKit.Sensors
[SerializeField] private Optional<LayerMask> detectedLayer;
[SerializeField] private bool allowStatic;
[SerializeField] private bool useRigidbody;
[SerializeField] private bool immediately = false;
[Header(Constant.Header.Events)] public UnityEvent<Collider> onDetected = new();
public UnityEvent<Collider> onLost = new();
@@ -34,10 +35,12 @@ namespace BITKit.Sensors
private void OnTriggerEnter(Collider _collider)
{
triggerEnterQueue.Enqueue(_collider);
if(immediately)Rebuild();
}
private void OnTriggerExit(Collider _collider)
{
triggerExitQueue.Enqueue(_collider);
if(immediately)Rebuild();
}
private void OnCollisionEnter(Collision collision)
@@ -84,6 +87,14 @@ namespace BITKit.Sensors
}
private void Update()
{
if (immediately is false)
{
Rebuild();
}
}
private void Rebuild()
{
while (triggerEnterQueue.TryDequeue(out var _collider))
{
@@ -97,7 +108,7 @@ namespace BITKit.Sensors
detected.Remove(_collider);
}
diagnosisNextFrame = detected.Any(x => x.enabled is false);
diagnosisNextFrame = detected.Any(x =>x is not null &&x.enabled is false);
if (diagnosisNextFrame)
{