From 8b3721eba33e558b485e4fc68b21ef1c130dfd66 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Thu, 16 Feb 2023 13:03:30 +0300 Subject: [PATCH] BREAKING CHANGE: IColiderTriggerArea Now Returns Transforms Instead Of Collider2Ds --- Runtime/Collider/Box2DColliderTriggerArea.cs | 2 +- .../Box2DColliderTriggerAreaWithRotation.cs | 2 +- Runtime/Collider/ColliderTriggerAreaBase.cs | 16 ++++++++-------- Runtime/Collider/IColliderTriggerArea.cs | 10 +++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Runtime/Collider/Box2DColliderTriggerArea.cs b/Runtime/Collider/Box2DColliderTriggerArea.cs index d520039..4be724c 100644 --- a/Runtime/Collider/Box2DColliderTriggerArea.cs +++ b/Runtime/Collider/Box2DColliderTriggerArea.cs @@ -2,7 +2,7 @@ using UnityEngine; namespace Syntriax.Modules.Trigger { - public class Box2DColliderTriggerArea : ColliderTriggerAreaBase + public class Box2DColliderTriggerArea : ColliderTriggerAreaBase { protected override int TriggerCount => Physics2D.OverlapBoxNonAlloc(transform.position, transform.localScale, 0, nonAllocResults, ColliderMask); diff --git a/Runtime/Collider/Box2DColliderTriggerAreaWithRotation.cs b/Runtime/Collider/Box2DColliderTriggerAreaWithRotation.cs index 36584bc..b96ef8a 100644 --- a/Runtime/Collider/Box2DColliderTriggerAreaWithRotation.cs +++ b/Runtime/Collider/Box2DColliderTriggerAreaWithRotation.cs @@ -2,7 +2,7 @@ using UnityEngine; namespace Syntriax.Modules.Trigger { - public class Box2DColliderTriggerAreaWithRotation : ColliderTriggerAreaBase + public class Box2DColliderTriggerAreaWithRotation : ColliderTriggerAreaBase { protected override int TriggerCount => Physics2D.OverlapBoxNonAlloc(transform.position, transform.localScale, transform.rotation.eulerAngles.z, nonAllocResults, ColliderMask); diff --git a/Runtime/Collider/ColliderTriggerAreaBase.cs b/Runtime/Collider/ColliderTriggerAreaBase.cs index ab0a85f..0db5a87 100644 --- a/Runtime/Collider/ColliderTriggerAreaBase.cs +++ b/Runtime/Collider/ColliderTriggerAreaBase.cs @@ -4,16 +4,16 @@ using UnityEngine; namespace Syntriax.Modules.Trigger { - public abstract class ColliderTriggerAreaBase : MonoBehaviour, IColliderTriggerArea + public abstract class ColliderTriggerAreaBase : MonoBehaviour, IColliderTriggerArea where T : Component { [SerializeField] private LayerMask colliderMask = ~0; - protected Collider2D[] nonAllocResults = new Collider2D[32]; + protected T[] nonAllocResults = new T[32]; protected int previousTriggerCount = 0; public LayerMask ColliderMask { get => colliderMask; set => colliderMask = value; } - public Action> OnTriggeredCollidersUpdated { get; set; } = null; - public List ColliderList { get; protected set; } = new List(32); + public Action> OnTriggeredTransformsUpdated { get; set; } = null; + public List TriggeredTransforms { get; protected set; } = new List(32); protected abstract int TriggerCount { get; } @@ -23,11 +23,11 @@ namespace Syntriax.Modules.Trigger if (!IsArrayAndListIdentical(triggerCount)) { - ColliderList.Clear(); + TriggeredTransforms.Clear(); for (int i = 0; i < triggerCount; i++) - ColliderList.Add(nonAllocResults[i]); + TriggeredTransforms.Add(nonAllocResults[i].transform); - OnTriggeredCollidersUpdated?.Invoke(ColliderList); + OnTriggeredTransformsUpdated?.Invoke(TriggeredTransforms); } previousTriggerCount = triggerCount; @@ -40,7 +40,7 @@ namespace Syntriax.Modules.Trigger return false; for (int i = 0; i < triggerCount; i++) - if (!ColliderList.Contains(nonAllocResults[i])) + if (!TriggeredTransforms.Contains(nonAllocResults[i].transform)) return false; return true; diff --git a/Runtime/Collider/IColliderTriggerArea.cs b/Runtime/Collider/IColliderTriggerArea.cs index 9219e9e..60e1667 100644 --- a/Runtime/Collider/IColliderTriggerArea.cs +++ b/Runtime/Collider/IColliderTriggerArea.cs @@ -12,12 +12,12 @@ namespace Syntriax.Modules.Trigger LayerMask ColliderMask { get; set; } /// - /// Called whenever the list of changes + /// Called whenever the list of changes /// - /// List of that triggered the - Action> OnTriggeredCollidersUpdated { get; set; } + /// List of that their colliders triggered the + Action> OnTriggeredTransformsUpdated { get; set; } - /// List of that triggered the - List ColliderList { get; } + /// List of that their colliders triggered the + List TriggeredTransforms { get; } } }