diff --git a/Runtime/Collider/ColliderTriggerAreaBase.cs b/Runtime/Collider/ColliderTriggerAreaBase.cs index fc3700a..ab0a85f 100644 --- a/Runtime/Collider/ColliderTriggerAreaBase.cs +++ b/Runtime/Collider/ColliderTriggerAreaBase.cs @@ -21,7 +21,7 @@ namespace Syntriax.Modules.Trigger { int triggerCount = TriggerCount; - if (triggerCount != previousTriggerCount) + if (!IsArrayAndListIdentical(triggerCount)) { ColliderList.Clear(); for (int i = 0; i < triggerCount; i++) @@ -33,5 +33,17 @@ namespace Syntriax.Modules.Trigger previousTriggerCount = triggerCount; return triggerCount > 0; } + + private bool IsArrayAndListIdentical(int triggerCount) + { + if (previousTriggerCount != triggerCount) + return false; + + for (int i = 0; i < triggerCount; i++) + if (!ColliderList.Contains(nonAllocResults[i])) + return false; + + return true; + } } }