summaryrefslogtreecommitdiff
path: root/Assets/Scripts
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
parent0fdb81ffb2af8c39cfd611f485d46f3341206832 (diff)
*misc
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/ApplicationMain.cs7
-rw-r--r--Assets/Scripts/Avatar/AbilitySystem.cs6
-rw-r--r--Assets/Scripts/Avatar/Avatar.cs6
-rw-r--r--Assets/Scripts/Avatar/HitDefination.cs6
-rw-r--r--Assets/Scripts/Managers/BattleManager.cs12
-rw-r--r--Assets/Scripts/Managers/BattleManager.cs.meta11
-rw-r--r--Assets/Scripts/Managers/HitManager.cs3
-rw-r--r--Assets/Scripts/Physics/PhysicsWorld.cs16
8 files changed, 44 insertions, 23 deletions
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
+/// <summary>
+/// 一个hit的效果,如果一个attack有多个hit,需要定义多个HitDef
+/// </summary>
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<BattleManager>
+{
+ 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<HitManager>
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<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>