From 38e177b0fdf130d6a361ab51c80b5b56ee83f28e Mon Sep 17 00:00:00 2001
From: chai <215380520@qq.com>
Date: Fri, 26 May 2023 19:12:36 +0800
Subject: *misc
---
.../Scripts/Physics/PhysicsManager_StaticTree.cs | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
(limited to 'WorldlineKeepers/Assets/Scripts/Physics/PhysicsManager_StaticTree.cs')
diff --git a/WorldlineKeepers/Assets/Scripts/Physics/PhysicsManager_StaticTree.cs b/WorldlineKeepers/Assets/Scripts/Physics/PhysicsManager_StaticTree.cs
index c759e32..b89da29 100644
--- a/WorldlineKeepers/Assets/Scripts/Physics/PhysicsManager_StaticTree.cs
+++ b/WorldlineKeepers/Assets/Scripts/Physics/PhysicsManager_StaticTree.cs
@@ -1,10 +1,48 @@
+using mh;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+///
+/// 不经常改变位置和大小的collider认为是静态collider,不会每帧重建
+///
public partial class PhysicsManager : Singleton
{
+ private PhysicsQuadtree m_StaticCollisionQuadtree;
+ public Vector4 staticCollisionQuadtreeRange
+ {
+ set
+ {
+ m_StaticCollisionQuadtree.quadtreeRange = value;
+ }
+ }
+
+ public void AddStaticCollider(IQuadTreeObject collider)
+ {
+ m_StaticCollisionQuadtree.AddObject(collider);
+ }
+
+ public void RemoveStaticCollider(IQuadTreeObject collider)
+ {
+ m_StaticCollisionQuadtree.RemoveObject(collider);
+ }
+
+ public bool RetriveStaticColliders(ref List returnObjs, IQuadTreeObject obj)
+ {
+ return m_StaticCollisionQuadtree.Retrive(ref returnObjs, obj);
+ }
+
+ public bool RetriveStaticColliders(ref List returnObjs, Vector4 bound)
+ {
+ return m_StaticCollisionQuadtree.Retrive(ref returnObjs, bound);
+ }
+
+ public bool RetriveStaticColliders(Vector4 bound)
+ {
+ m_SharedRetriveResults.Clear();
+ return m_StaticCollisionQuadtree.Retrive(ref m_SharedRetriveResults, bound);
+ }
}
--
cgit v1.1-26-g67d0