1
This commit is contained in:
@@ -29,6 +29,7 @@ namespace BITKit.Sensors
|
||||
|
||||
private readonly Queue<Collider> triggerEnterQueue=new();
|
||||
private readonly Queue<Collider> triggerExitQueue=new();
|
||||
private bool diagnosisNextFrame;
|
||||
|
||||
private void OnTriggerEnter(Collider _collider)
|
||||
{
|
||||
@@ -87,7 +88,7 @@ namespace BITKit.Sensors
|
||||
while (triggerEnterQueue.TryDequeue(out var _collider))
|
||||
{
|
||||
if (IsValid(_collider) is false) return;
|
||||
if (triggerExitQueue.Contains(_collider) || detected.Contains(_collider))continue;
|
||||
if (detected.Contains(_collider))continue;
|
||||
detected.Add(_collider);
|
||||
}
|
||||
while (triggerExitQueue.TryDequeue(out var _collider))
|
||||
@@ -95,6 +96,14 @@ namespace BITKit.Sensors
|
||||
if (IsValid(_collider) is false) return;
|
||||
detected.Remove(_collider);
|
||||
}
|
||||
|
||||
diagnosisNextFrame = detected.Any(x => x.enabled is false);
|
||||
|
||||
if (diagnosisNextFrame)
|
||||
{
|
||||
detected = detected.Where(x => x.enabled).ToList();
|
||||
diagnosisNextFrame = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
#if UNITY_EDITOR
|
||||
|
Reference in New Issue
Block a user