summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Physics/PhysicsWorld.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-11-09 20:50:17 +0800
committerchai <chaifix@163.com>2020-11-09 20:50:17 +0800
commitd21321d1e0d594ab247679cbfde86737aa24979c (patch)
treec22021ea204c25eda3a3eaa23b7aedd904eb00cc /Assets/Scripts/Physics/PhysicsWorld.cs
parent0fdb81ffb2af8c39cfd611f485d46f3341206832 (diff)
*misc
Diffstat (limited to 'Assets/Scripts/Physics/PhysicsWorld.cs')
-rw-r--r--Assets/Scripts/Physics/PhysicsWorld.cs16
1 files changed, 7 insertions, 9 deletions
diff --git a/Assets/Scripts/Physics/PhysicsWorld.cs b/Assets/Scripts/Physics/PhysicsWorld.cs
index ec3b0ac8..7b7787d4 100644
--- a/Assets/Scripts/Physics/PhysicsWorld.cs
+++ b/Assets/Scripts/Physics/PhysicsWorld.cs
@@ -35,8 +35,8 @@ public class PhysicsWorld : Singleton<PhysicsWorld>
{
public delegate void Callback();
+ public Callback onBeforeUpdate;
public Callback onUpdate;
- public Callback onAfterUpdate;
private int m_UpdateRate = 60;
// 重力加速度
@@ -112,28 +112,26 @@ public class PhysicsWorld : Singleton<PhysicsWorld>
}
/// <summary>
- /// 物理系统已稳定的逻辑帧率执行
+ /// 物理系统以稳定的逻辑帧率执行
/// </summary>
public void Update()
{
- BeforeUpdate();
float preTime = m_TimeCount;
m_TimeCount = Time.time;
float deltaTime = m_TimeCount - preTime;
while (deltaTime > 1f / m_UpdateRate)
{
+ BeforeTick();
+ onBeforeUpdate?.Invoke();
Tick();
- if(onUpdate != null)
- onUpdate();
+ onUpdate?.Invoke();
deltaTime -= 1f / m_UpdateRate;
}
m_TimeCount -= deltaTime;
- if(onAfterUpdate != null)
- onAfterUpdate();
}
// 更新之前
- private void BeforeUpdate()
+ private void BeforeTick()
{
m_CollisionInfo.Clear();
}
@@ -238,7 +236,7 @@ public class PhysicsWorld : Singleton<PhysicsWorld>
}
/// <summary>
- /// 处理有物体的动力学运动
+ /// 处理动力学
/// </summary>
/// <param name="prim"></param>
/// <param name="deltaTime"></param>