summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Physics/PhysicsWorld.cs
diff options
context:
space:
mode:
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>