diff options
author | chai <chaifix@163.com> | 2020-11-09 20:50:17 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-11-09 20:50:17 +0800 |
commit | d21321d1e0d594ab247679cbfde86737aa24979c (patch) | |
tree | c22021ea204c25eda3a3eaa23b7aedd904eb00cc /Assets/Scripts/Physics/PhysicsWorld.cs | |
parent | 0fdb81ffb2af8c39cfd611f485d46f3341206832 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Physics/PhysicsWorld.cs')
-rw-r--r-- | Assets/Scripts/Physics/PhysicsWorld.cs | 16 |
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>
|