summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit/Component/UnitCollider.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-08-05 20:05:44 +0800
committerchai <chaifix@163.com>2021-08-05 20:05:44 +0800
commitee4d8f4187059f177c17c8c818352826c6347d38 (patch)
tree239c116dac01b20f1ce42e0f3324472ad122132a /Assets/Scripts/Unit/Component/UnitCollider.cs
parent8d4a4c7c781de11ba3735e8ffb435b23c483af7a (diff)
*misc
Diffstat (limited to 'Assets/Scripts/Unit/Component/UnitCollider.cs')
-rw-r--r--Assets/Scripts/Unit/Component/UnitCollider.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/Assets/Scripts/Unit/Component/UnitCollider.cs b/Assets/Scripts/Unit/Component/UnitCollider.cs
index 2630cb91..57585ba2 100644
--- a/Assets/Scripts/Unit/Component/UnitCollider.cs
+++ b/Assets/Scripts/Unit/Component/UnitCollider.cs
@@ -2,12 +2,43 @@
using System.Collections.Generic;
using UnityEngine;
+public class ColliderRegistry : Singleton<ColliderRegistry>
+{
+ public List<UnitCollider> colliders = new List<UnitCollider>();
+
+ public void AddCollider(UnitCollider collider)
+ {
+ if (!colliders.Contains(collider))
+ colliders.Add(collider);
+ }
+
+ public void RemoveCollider(UnitCollider collider)
+ {
+ if (colliders.Contains(collider))
+ colliders.Remove(collider);
+ }
+}
+
// 角色当前的碰撞盒
[DisallowMultipleComponent]
public class UnitCollider : UnitComponent
{
public bool showGizmos;
+ public override void Awake()
+ {
+ base.Awake();
+
+ ColliderRegistry.Instance.AddCollider(this);
+ }
+
+ public override void OnDestroy()
+ {
+ ColliderRegistry.Instance.RemoveCollider(this);
+
+ base.OnDestroy();
+ }
+
public override void Initialize()
{
base.Initialize();