diff options
author | chai <215380520@qq.com> | 2023-05-10 09:35:29 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-05-10 09:35:29 +0800 |
commit | caeba98e0385edebb344e6dbd024c01801a75fc4 (patch) | |
tree | 989ad28501cee2ee47a14214c20bc7a8b9c8a71b /marching/Assets/Scripts/Physics/PhysicsManager.cs | |
parent | fc2cfdad0d3cfb3844681855c1c45d9415f5ee8e (diff) |
*misc
Diffstat (limited to 'marching/Assets/Scripts/Physics/PhysicsManager.cs')
-rw-r--r-- | marching/Assets/Scripts/Physics/PhysicsManager.cs | 81 |
1 files changed, 7 insertions, 74 deletions
diff --git a/marching/Assets/Scripts/Physics/PhysicsManager.cs b/marching/Assets/Scripts/Physics/PhysicsManager.cs index bbba030..164d62b 100644 --- a/marching/Assets/Scripts/Physics/PhysicsManager.cs +++ b/marching/Assets/Scripts/Physics/PhysicsManager.cs @@ -13,87 +13,14 @@ public enum ColliderType public partial class PhysicsManager : Singleton<PhysicsManager> { - #region Quadtrees - private PhysicsQuadtree m_CollisionQuadtree; - private PhysicsQuadtree m_HurtboxQuadtree; - #endregion - - public Vector4 collisionQuadtreeRange - { - set - { - m_CollisionQuadtree.quadtreeRange = value; - } - } - - public Vector4 hurtboxQuadtreeRange - { - set - { - m_HurtboxQuadtree.quadtreeRange = value; - } - } public List<IQuadTreeObject> sharedRetriveResults => m_SharedRetriveResults; private List<IQuadTreeObject> m_SharedRetriveResults = new List<IQuadTreeObject>(); - public PhysicsManager() + public PhysicsManager() { m_CollisionQuadtree = new PhysicsQuadtree(new Vector4(0, 0, 30, 30)); m_HurtboxQuadtree = new PhysicsQuadtree(new Vector4(0, 0, 30, 30)); - } - - public void AddCollider(IQuadTreeObject collider) - { - m_CollisionQuadtree.AddObject(collider); - } - - public void RemoveCollider(IQuadTreeObject collider) - { - m_CollisionQuadtree.RemoveObject(collider); - } - - public void AddHurtboxes(IQuadTreeObject hurtbox) - { - m_HurtboxQuadtree.AddObject(hurtbox); - } - - public void RemoveHurtbox(IQuadTreeObject hurtbox) - { - m_HurtboxQuadtree.RemoveObject(hurtbox); - } - - public void Update() - { - m_CollisionQuadtree.UpdateQuadtree(); - m_HurtboxQuadtree.UpdateQuadtree(); - } - - public bool RetriveColliders(ref List<IQuadTreeObject> returnObjs, IQuadTreeObject obj) - { - return m_CollisionQuadtree.Retrive(ref returnObjs, obj); - } - - public bool RetriveColliders(ref List<IQuadTreeObject> returnObjs, Vector4 bound) - { - return m_CollisionQuadtree.Retrive(ref returnObjs, bound); - } - - public bool RetriveHurtboxes(ref List<IQuadTreeObject> returnObjs, Vector4 bound) - { - return m_HurtboxQuadtree.Retrive(ref returnObjs, bound); - } - - public bool RetriveColliders(Vector4 bound) - { - m_SharedRetriveResults.Clear(); - return m_CollisionQuadtree.Retrive(ref m_SharedRetriveResults, bound); - } - - public bool RetriveHurtboxes(Vector4 bound) - { - m_SharedRetriveResults.Clear(); - return m_HurtboxQuadtree.Retrive(ref m_SharedRetriveResults, bound); } public System.Func<Vector4, bool> GetRetriverByType(ColliderType type) @@ -106,6 +33,12 @@ public partial class PhysicsManager : Singleton<PhysicsManager> return null; } + public void Update() + { + m_CollisionQuadtree.UpdateQuadtree(); + m_HurtboxQuadtree.UpdateQuadtree(); + } + public void Debug() { m_CollisionQuadtree.Debug(); |