From d21321d1e0d594ab247679cbfde86737aa24979c Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 9 Nov 2020 20:50:17 +0800 Subject: *misc --- Assets/Scripts/ApplicationMain.cs | 7 ------- Assets/Scripts/Avatar/AbilitySystem.cs | 6 ++++-- Assets/Scripts/Avatar/Avatar.cs | 6 ++++-- Assets/Scripts/Avatar/HitDefination.cs | 6 +++--- Assets/Scripts/Managers/BattleManager.cs | 12 ++++++++++++ Assets/Scripts/Managers/BattleManager.cs.meta | 11 +++++++++++ Assets/Scripts/Managers/HitManager.cs | 3 +++ Assets/Scripts/Physics/PhysicsWorld.cs | 16 +++++++--------- 8 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 Assets/Scripts/Managers/BattleManager.cs create mode 100644 Assets/Scripts/Managers/BattleManager.cs.meta (limited to 'Assets/Scripts') diff --git a/Assets/Scripts/ApplicationMain.cs b/Assets/Scripts/ApplicationMain.cs index 2c310e9b..e445e2ee 100644 --- a/Assets/Scripts/ApplicationMain.cs +++ b/Assets/Scripts/ApplicationMain.cs @@ -10,14 +10,12 @@ public class ApplicationMain : MonoBehaviour PhysicsWorld.Instance.Init(); PhysicsWorld.Instance.onUpdate += OnPhysicsUpdate; - PhysicsWorld.Instance.onAfterUpdate += OnAfterPhysicsUpdate; } void Update() { InputManager.Instance.Update(); AvatarManager.Instance.OnUpdate(); - PhysicsWorld.Instance.Update(); } @@ -27,11 +25,6 @@ public class ApplicationMain : MonoBehaviour AvatarManager.Instance.OnPhysicsUpdate(); } - void OnAfterPhysicsUpdate() - { - - } - private void OnDrawGizmos() { PhysicsWorld.Instance.DrawGizmos(); diff --git a/Assets/Scripts/Avatar/AbilitySystem.cs b/Assets/Scripts/Avatar/AbilitySystem.cs index 9d289884..5f6e9364 100644 --- a/Assets/Scripts/Avatar/AbilitySystem.cs +++ b/Assets/Scripts/Avatar/AbilitySystem.cs @@ -76,12 +76,14 @@ public class AbilitySystem public void OnHit(HitInfo info) { - + if (m_Currrent != null) + m_Currrent.OnHit(info); } public void OnHurt(HurtInfo info) { - + if (m_Currrent != null) + m_Currrent.OnHurt(info); } public void SwitchToAbility(AbilityBase targetAbility) diff --git a/Assets/Scripts/Avatar/Avatar.cs b/Assets/Scripts/Avatar/Avatar.cs index dc6c7858..03cceccb 100644 --- a/Assets/Scripts/Avatar/Avatar.cs +++ b/Assets/Scripts/Avatar/Avatar.cs @@ -99,12 +99,14 @@ public class Avatar : MonoBehaviour, IInteractable public virtual void OnHit(HitInfo hitInfo) { - Debug.Log("Hit"); + //Debug.Log("Hit"); + m_AbilitySystem.OnHit(hitInfo); } public virtual void OnHurt(HurtInfo hurtInfo) { - Debug.Log("Hurt"); + //Debug.Log("Hurt"); + m_AbilitySystem.OnHurt(hurtInfo); } } diff --git a/Assets/Scripts/Avatar/HitDefination.cs b/Assets/Scripts/Avatar/HitDefination.cs index 96ceaf00..22a78325 100644 --- a/Assets/Scripts/Avatar/HitDefination.cs +++ b/Assets/Scripts/Avatar/HitDefination.cs @@ -2,7 +2,9 @@ using System.Collections.Generic; using UnityEngine; -// 一个hit的效果,如果一个attack有多个hit,需要定义多个HitDef +/// +/// 一个hit的效果,如果一个attack有多个hit,需要定义多个HitDef +/// public class HitDefination { public float start = 0f; @@ -13,6 +15,4 @@ public class HitDefination public Vector3 sparkPosition; // 特效位置(sparkHost为空时生效) public Quaternion sparkRotation; // 特效旋转 public Vector3 sparkScale = Vector3.one; // 特效缩放 - - } \ No newline at end of file diff --git a/Assets/Scripts/Managers/BattleManager.cs b/Assets/Scripts/Managers/BattleManager.cs new file mode 100644 index 00000000..012862cd --- /dev/null +++ b/Assets/Scripts/Managers/BattleManager.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class BattleManager : Singleton +{ + public void OnHitOccured() + { + + } + +} diff --git a/Assets/Scripts/Managers/BattleManager.cs.meta b/Assets/Scripts/Managers/BattleManager.cs.meta new file mode 100644 index 00000000..ce0cee41 --- /dev/null +++ b/Assets/Scripts/Managers/BattleManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1131367ba4b66ec4493a09bdeb570943 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Managers/HitManager.cs b/Assets/Scripts/Managers/HitManager.cs index dfa6530f..2b198788 100644 --- a/Assets/Scripts/Managers/HitManager.cs +++ b/Assets/Scripts/Managers/HitManager.cs @@ -102,6 +102,9 @@ public class HitManager : Singleton hurtInfo.hitDef = hitDef; hurtbox.Host.OnHurt(hurtInfo); + + // 场景处理特效等 + BattleManager.Instance.OnHitOccured(); } } } 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 { 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 } /// - /// 物理系统已稳定的逻辑帧率执行 + /// 物理系统以稳定的逻辑帧率执行 /// 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 } /// - /// 处理有物体的动力学运动 + /// 处理动力学 /// /// /// -- cgit v1.1-26-g67d0