diff options
Diffstat (limited to 'Assets/Scripts')
22 files changed, 374 insertions, 133 deletions
diff --git a/Assets/Scripts/ApplicationMain.cs b/Assets/Scripts/ApplicationMain.cs index 81ac453c..2c310e9b 100644 --- a/Assets/Scripts/ApplicationMain.cs +++ b/Assets/Scripts/ApplicationMain.cs @@ -4,30 +4,37 @@ using UnityEngine; public class ApplicationMain : MonoBehaviour { - // Start is called before the first frame update void Start() { InputManager.Instance.Init(); - PhysicsWorld.Instance.Init(); + PhysicsWorld.Instance.Init();
+
+ PhysicsWorld.Instance.onUpdate += OnPhysicsUpdate; + PhysicsWorld.Instance.onAfterUpdate += OnAfterPhysicsUpdate; } - // Update is called once per frame void Update() { InputManager.Instance.Update();
AvatarManager.Instance.OnUpdate();
+
+ PhysicsWorld.Instance.Update();
} - private void LateUpdate()
+ void OnPhysicsUpdate()
{
- PhysicsWorld.Instance.Update();
- AvatarManager.Instance.OnLateUpdate();
- } - - private void OnDrawGizmos()
+ HitManager.Instance.OnPhysicsUpdate();
+ AvatarManager.Instance.OnPhysicsUpdate();
+ }
+
+ void OnAfterPhysicsUpdate()
+ {
+
+ }
+
+ private void OnDrawGizmos()
{
PhysicsWorld.Instance.DrawGizmos();
} - }
\ No newline at end of file diff --git a/Assets/Scripts/Avatar/Abilities/AbilityBase.cs b/Assets/Scripts/Avatar/Abilities/AbilityBase.cs index 28f0e8d6..c8c09a6b 100644 --- a/Assets/Scripts/Avatar/Abilities/AbilityBase.cs +++ b/Assets/Scripts/Avatar/Abilities/AbilityBase.cs @@ -41,7 +41,7 @@ public abstract class AbilityBase /// <summary>
/// 在物理模拟之后更新
/// </summary>
- public virtual void OnLateUpdate() { }
+ public virtual void OnPhysicsUpdate() { }
/// <summary>
/// 过渡到下一个ability的回调
@@ -52,12 +52,12 @@ public abstract class AbilityBase /// <summary>
/// 检测到hitbox碰撞时的回调
/// </summary>
- public virtual void OnHit(PhysicsCollisionInfo info) { }
+ public virtual void OnHit(HitInfo info) { }
/// <summary>
/// 检测到hurtbox碰撞时的回调
/// </summary>
- public virtual void OnHurt(PhysicsCollisionInfo info) { }
+ public virtual void OnHurt(HurtInfo info) { }
/// <summary>
/// 检测到defendbox碰撞时的回调
diff --git a/Assets/Scripts/Avatar/Abilities/AttackAbility.cs b/Assets/Scripts/Avatar/Abilities/AttackAbility.cs index 5a200cf8..6e7c503f 100644 --- a/Assets/Scripts/Avatar/Abilities/AttackAbility.cs +++ b/Assets/Scripts/Avatar/Abilities/AttackAbility.cs @@ -17,12 +17,12 @@ public class AttackAbility : AbilityBase private List<Trigger> m_Triggers = new List<Trigger>();
- private List<Trigger> m_LateTriggers = new List<Trigger>();
+ private List<Trigger> m_PhysicsTriggers = new List<Trigger>();
/// <summary>
- /// 这个招式产生的hit
+ /// 这个招式配置的hit
/// </summary>
- private List<HitInfo> m_HitInfo = new List<HitInfo>();
+ private List<Hit> m_Hits = new List<Hit>();
/// <summary>
/// 从动画结束开始计时
@@ -43,7 +43,7 @@ public class AttackAbility : AbilityBase {
get
{
- return m_HitInfo != null ? m_HitInfo.Count : 0;
+ return m_Hits != null ? m_Hits.Count : 0;
}
}
@@ -81,7 +81,7 @@ public class AttackAbility : AbilityBase m_Config.body.LocalVelocity = m_Config.velocity;
}
- foreach(var hit in m_HitInfo)
+ foreach(var hit in m_Hits)
{
hit.WipeRecords();
}
@@ -97,30 +97,11 @@ public class AttackAbility : AbilityBase m_TimeCount = 0;
}
- public override void OnHit(PhysicsCollisionInfo info)
+ public override void OnHit(HitInfo info)
{
- Avatar avatar = info.prim2.GetComponentInParent<Avatar>();
- if (avatar == null)
- return;
- for (int i = 0; i < m_HitInfo.Count; ++i)
- {
- HitInfo hitInfo = m_HitInfo[i];
- if(!hitInfo.HasRecord(avatar))
- {
- hitInfo.AddRecord(avatar);
- Debug.Log("hit " + avatar.Name);
- PhysicsBody body = avatar.Body;
- body.SetLocalForce(new Vector3(-1000, 5000, 0));
- if(avatar is ArmorSoldierScript)
- {
- ArmorSoldierScript solider = avatar as ArmorSoldierScript;
- solider.Hurt();
- }
- }
- }
}
- public override void OnHurt(PhysicsCollisionInfo info)
+ public override void OnHurt(HurtInfo info)
{
}
@@ -143,9 +124,9 @@ public class AttackAbility : AbilityBase }
// 在物理模拟之后
- public override void OnLateUpdate()
+ public override void OnPhysicsUpdate()
{
- foreach (var trigger in m_LateTriggers)
+ foreach (var trigger in m_PhysicsTriggers)
{
if (trigger.Update() && trigger.Swallow)
break;
@@ -159,18 +140,36 @@ public class AttackAbility : AbilityBase m_Triggers.Add(trigger);
}
- public void AddLateTrigger(Trigger trigger)
+ public void AddPhysicsTrigger(Trigger trigger)
{
- if (trigger == null || m_LateTriggers.Contains(trigger))
+ if (trigger == null || m_PhysicsTriggers.Contains(trigger))
return;
- m_LateTriggers.Add(trigger);
+ m_PhysicsTriggers.Add(trigger);
}
public void AddHitDefination(HitDefination defination)
{
- HitInfo info = new HitInfo();
+ Hit info = new Hit();
info.defination = defination;
- m_HitInfo.Add(info);
+ m_Hits.Add(info);
+ }
+
+ // 获得当前时间点产生的hit
+ public Hit GetHit()
+ {
+ AnimatorStateInfo info = m_Config.animator.GetCurrentAnimatorStateInfo(0);
+ float normalizeTime = info.normalizedTime;
+ for (int i = 0; i< m_Hits.Count; ++i)
+ {
+ Hit hit = m_Hits[i];
+ float start = hit.defination.start;
+ float end = hit.defination.end;
+ if(normalizeTime >= start && normalizeTime <= end)
+ {
+ return hit;
+ }
+ }
+ return null;
}
}
diff --git a/Assets/Scripts/Avatar/Abilities/JumpAbility.cs b/Assets/Scripts/Avatar/Abilities/JumpAbility.cs index b83e8cfb..5c2d6366 100644 --- a/Assets/Scripts/Avatar/Abilities/JumpAbility.cs +++ b/Assets/Scripts/Avatar/Abilities/JumpAbility.cs @@ -208,9 +208,9 @@ public class JumpAbility : AbilityBase }
}
- public override void OnLateUpdate()
+ public override void OnPhysicsUpdate()
{
- base.OnLateUpdate();
+ base.OnPhysicsUpdate();
}
/// <summary>
diff --git a/Assets/Scripts/Avatar/Abilities/UberAbility.cs b/Assets/Scripts/Avatar/Abilities/UberAbility.cs index 0a5bb8c5..ca2e7c06 100644 --- a/Assets/Scripts/Avatar/Abilities/UberAbility.cs +++ b/Assets/Scripts/Avatar/Abilities/UberAbility.cs @@ -7,6 +7,6 @@ public abstract class UberAbility : AbilityBase {
public abstract void OnUpdate();
- public abstract void OnLateUpdate();
+ public abstract void OnPhysicsUpdate();
}
diff --git a/Assets/Scripts/Avatar/AbilitySystem.cs b/Assets/Scripts/Avatar/AbilitySystem.cs index 3e2ab838..9d289884 100644 --- a/Assets/Scripts/Avatar/AbilitySystem.cs +++ b/Assets/Scripts/Avatar/AbilitySystem.cs @@ -62,31 +62,26 @@ public class AbilitySystem }
} - public void OnLateUpdate() + public void OnPhysicsUpdate() { if(m_Currrent != null) { - m_Currrent.OnLateUpdate(); + m_Currrent.OnPhysicsUpdate(); } if(m_UberAbility != null)
{
- m_UberAbility.OnLateUpdate(); + m_UberAbility.OnPhysicsUpdate(); }
}
- public void OnHit(PhysicsCollisionInfo info)
+ public void OnHit(HitInfo info)
{
- if(m_Currrent != null)
- {
- m_Currrent.OnHit(info);
- }
+
} - public void OnHurt(PhysicsCollisionInfo info)
+ + public void OnHurt(HurtInfo info)
{
- if (m_Currrent != null)
- {
- m_Currrent.OnHurt(info);
- }
+ } public void SwitchToAbility(AbilityBase targetAbility) @@ -97,4 +92,13 @@ public class AbilitySystem m_Currrent.OnEnter(); } + // 获得当前击打如果有的话
+ public Hit GetHit()
+ {
+ if (Current == null || !(Current is AttackAbility))
+ return null;
+ AttackAbility ability = Current as AttackAbility;
+ return ability.GetHit();
+ } + }
\ No newline at end of file diff --git a/Assets/Scripts/Avatar/Avatar.cs b/Assets/Scripts/Avatar/Avatar.cs index 928d2197..dc6c7858 100644 --- a/Assets/Scripts/Avatar/Avatar.cs +++ b/Assets/Scripts/Avatar/Avatar.cs @@ -13,8 +13,8 @@ public class Avatar : MonoBehaviour, IInteractable // 一个角色包括一个身体的collider和若干hitbox和hurtbox
public PhysicsBody m_Body; public PhysicsBox m_BodyCollider;
- public PhysicsBox[] m_Hitbox;
- public PhysicsBox[] m_Hurtbox;
+ public Hitbox[] m_Hitbox;
+ public Hurtbox[] m_Hurtbox;
protected AbilitySystem m_AbilitySystem = new AbilitySystem();
@@ -55,7 +55,7 @@ public class Avatar : MonoBehaviour, IInteractable {
for (int i = 0; i < m_Hitbox.Length; ++i)
{
- if (PhysicsWorld.Instance.HasCollision(m_Hitbox[i]))
+ if (PhysicsWorld.Instance.HasCollision(m_Hitbox[i].Collider))
{
return true;
}
@@ -67,7 +67,7 @@ public class Avatar : MonoBehaviour, IInteractable {
for (int i = 0; i < m_Hitbox.Length; ++i)
{
- if (PhysicsWorld.Instance.HasCollision(m_Hurtbox[i]))
+ if (PhysicsWorld.Instance.HasCollision(m_Hurtbox[i].Collider))
{
return true;
}
@@ -81,54 +81,9 @@ public class Avatar : MonoBehaviour, IInteractable }
// 在物理模拟之后调用
- public void OnLateUpdate()
+ public void OnPhysicsUpdate()
{
- // hitbox
- for(int i = 0;i < m_Hitbox.Length; ++i)
- {
- PhysicsBox hitbox = m_Hitbox[i];
- if (hitbox == null || !hitbox.IsActive)
- continue;
- for(int j = 0;j < PhysicsWorld.Instance.Collisions.Count; ++j)
- {
- PhysicsCollisionInfo info = PhysicsWorld.Instance.Collisions[j];
- if(info.prim1 == hitbox)
- {
- m_AbilitySystem.OnHit(info);
- }
- else if(info.prim2 == hitbox)
- {
- PhysicsPrimitive temp = info.prim1;
- info.prim1 = info.prim2;
- info.prim2 = temp;
- m_AbilitySystem.OnHit(info);
- }
- }
- }
- // hurtbox
- for (int i = 0; i < m_Hurtbox.Length; ++i)
- {
- PhysicsBox hurtbox = m_Hurtbox[i];
- if (hurtbox == null || !hurtbox.IsActive)
- continue;
- for (int j = 0; j < PhysicsWorld.Instance.Collisions.Count; ++j)
- {
- PhysicsCollisionInfo info = PhysicsWorld.Instance.Collisions[j];
- if (info.prim1 == hurtbox)
- {
- m_AbilitySystem.OnHurt(info);
- }
- else if(info.prim2 == hurtbox)
- {
- PhysicsPrimitive temp = info.prim1;
- info.prim1 = info.prim2;
- info.prim2 = temp;
- m_AbilitySystem.OnHurt(info);
- }
- }
- }
-
- m_AbilitySystem.OnLateUpdate();
+ m_AbilitySystem.OnPhysicsUpdate();
}
public virtual Vector3 GetEffectPosition()
@@ -136,4 +91,20 @@ public class Avatar : MonoBehaviour, IInteractable return Vector3.zero;
}
+ // 获得当前击打如果有的话
+ public Hit GetHit()
+ {
+ return m_AbilitySystem.GetHit();
+ }
+
+ public virtual void OnHit(HitInfo hitInfo)
+ {
+ Debug.Log("Hit");
+ }
+
+ public virtual void OnHurt(HurtInfo hurtInfo)
+ {
+ Debug.Log("Hurt");
+ }
+
}
diff --git a/Assets/Scripts/Avatar/HitInfo.cs b/Assets/Scripts/Avatar/HitInfo.cs index 8d24f6ee..aef9a03f 100644 --- a/Assets/Scripts/Avatar/HitInfo.cs +++ b/Assets/Scripts/Avatar/HitInfo.cs @@ -2,19 +2,22 @@ using System.Collections.Generic; using UnityEngine; -public class HitInfo +/// <summary>
+/// 每个招式配置的单个hit数据
+/// </summary> +public class Hit { public HitDefination defination; /// <summary> - /// 记录这个hit命中的avatar + /// 记录这个hit命中的avatar,避免连续击中 /// </summary> - private List<Avatar> m_HitAvatars = new List<Avatar>(); + private List<IInteractable> m_HitAvatars = new List<IInteractable>(); - public void AddRecord(Avatar avatar) + public void AddRecord(IInteractable interactable) { - if (!m_HitAvatars.Contains(avatar)) - m_HitAvatars.Add(avatar); + if (!m_HitAvatars.Contains(interactable)) + m_HitAvatars.Add(interactable); } // 招式结束后,清除记录的avatar @@ -23,9 +26,9 @@ public class HitInfo m_HitAvatars.Clear(); } - public bool HasRecord(Avatar avatar)
+ public bool HasRecord(IInteractable interactable)
{
- return m_HitAvatars.Contains(avatar);
+ return m_HitAvatars.Contains(interactable);
} } diff --git a/Assets/Scripts/Avatar/Hitbox.cs b/Assets/Scripts/Avatar/Hitbox.cs new file mode 100644 index 00000000..5fd0cecf --- /dev/null +++ b/Assets/Scripts/Avatar/Hitbox.cs @@ -0,0 +1,33 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Hitbox : MonoBehaviour
+{
+ [SerializeField]
+ private PhysicsBox m_BoxCollider;
+ public PhysicsBox Collider
+ {
+ get
+ {
+ return m_BoxCollider;
+ }
+ }
+
+ [SerializeField]
+ private MonoBehaviour m_Host ;
+
+ public IInteractable Host
+ {
+ get
+ {
+ return m_Host as IInteractable;
+ }
+ }
+
+ private void Awake()
+ {
+ HitManager.Instance.AddHitBox(this);
+ }
+
+}
diff --git a/Assets/Scripts/Avatar/Hitbox.cs.meta b/Assets/Scripts/Avatar/Hitbox.cs.meta new file mode 100644 index 00000000..19075d69 --- /dev/null +++ b/Assets/Scripts/Avatar/Hitbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f763a2db7c267714f824ca6a69bec569 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Avatar/Hurtbox.cs b/Assets/Scripts/Avatar/Hurtbox.cs new file mode 100644 index 00000000..b5bd738f --- /dev/null +++ b/Assets/Scripts/Avatar/Hurtbox.cs @@ -0,0 +1,33 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Hurtbox : MonoBehaviour
+{
+ [SerializeField]
+ private PhysicsBox m_BoxCollider;
+ public PhysicsBox Collider
+ {
+ get {
+ return m_BoxCollider;
+ }
+ }
+
+ [SerializeField]
+ private MonoBehaviour m_Host;
+
+ public IInteractable Host
+ {
+ get
+ {
+ return m_Host as IInteractable;
+ }
+ }
+
+ private void Awake()
+ {
+ HitManager.Instance.AddHurtBox(this);
+ }
+
+
+}
diff --git a/Assets/Scripts/Avatar/Hurtbox.cs.meta b/Assets/Scripts/Avatar/Hurtbox.cs.meta new file mode 100644 index 00000000..f0c2e2ff --- /dev/null +++ b/Assets/Scripts/Avatar/Hurtbox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 154a74587976e25469eae9a4a8c7762b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Avatar/IInteractable.cs b/Assets/Scripts/Avatar/IInteractable.cs index 23e49912..7a648c6c 100644 --- a/Assets/Scripts/Avatar/IInteractable.cs +++ b/Assets/Scripts/Avatar/IInteractable.cs @@ -14,8 +14,10 @@ public interface IInteractable bool IsHit(); - bool IsHurt(); - + bool IsHurt();
+
+ void OnHit(HitInfo hitInfo); + void OnHurt(HurtInfo hurtInfo); } diff --git a/Assets/Scripts/Managers/AvatarManager.cs b/Assets/Scripts/Managers/AvatarManager.cs index 4cb3cb7f..6ccac62a 100644 --- a/Assets/Scripts/Managers/AvatarManager.cs +++ b/Assets/Scripts/Managers/AvatarManager.cs @@ -19,11 +19,11 @@ public class AvatarManager : Singleton<AvatarManager> }
}
- public void OnLateUpdate()
+ public void OnPhysicsUpdate()
{
foreach(var avatar in m_Avatars)
{
- avatar.OnLateUpdate();
+ avatar.OnPhysicsUpdate();
}
}
diff --git a/Assets/Scripts/Managers/HitManager.cs b/Assets/Scripts/Managers/HitManager.cs new file mode 100644 index 00000000..dfa6530f --- /dev/null +++ b/Assets/Scripts/Managers/HitManager.cs @@ -0,0 +1,121 @@ +using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public struct HitInfo
+{
+ public HitDefination hitDef;
+ public Hitbox hitbox;
+ public Hurtbox hurtbox;
+ public Vector3 contact;
+ public Vector3 size;
+}
+
+public struct HurtInfo
+{
+ public HitDefination hitDef;
+ public Hitbox hitbox;
+ public Hurtbox hurtbox;
+ public Vector3 contact;
+ public Vector3 size;
+}
+
+public class HitManager : Singleton<HitManager>
+{
+ private List<Hitbox> m_HitBoxes = new List<Hitbox>();
+ private List<Hurtbox> m_HurtBoxes = new List<Hurtbox>();
+
+ public void AddHitBox(Hitbox hitbox)
+ {
+ m_HitBoxes.Add(hitbox);
+ }
+
+ public void AddHurtBox(Hurtbox hurtbox)
+ {
+ m_HurtBoxes.Add(hurtbox);
+ }
+
+ /// <summary>
+ /// 根据碰撞结果产生击中信息
+ /// </summary>
+ public void OnPhysicsUpdate()
+ {
+ for(int i = 0;i < m_HitBoxes.Count; ++i)
+ {
+ Hitbox hitbox = m_HitBoxes[i];
+ if (hitbox == null)
+ return;
+ for (int j = 0; j < PhysicsWorld.Instance.Collisions.Count; ++j)
+ {
+ PhysicsCollisionInfo info = PhysicsWorld.Instance.Collisions[j];
+ PhysicsPrimitive collider;
+ if(info.prim1 == hitbox.Collider)
+ {
+ collider = info.prim2;
+ }
+ else if(info.prim2 == hitbox.Collider)
+ {
+ collider = info.prim1;
+ }
+ else
+ {
+ continue;
+ }
+
+ Hurtbox hurtbox = GetHurtboxByCollider(collider);
+ if(hurtbox == null)
+ {
+ Debug.LogError("没有找到hurtbox");
+ continue;
+ }
+
+ HitDefination hitDef = null;
+
+ if (hitbox.Host is Avatar)
+ {
+ Avatar attacker = hitbox.Host as Avatar;
+ Hit hit = attacker.GetHit();
+ if(hit == null)
+ continue;
+ if (hit.HasRecord(hurtbox.Host))
+ continue;
+ hit.AddRecord(hurtbox.Host);
+ hitDef = hit.defination;
+ }
+
+ // 发送击中消息
+ HitInfo hitInfo = new HitInfo ();
+ hitInfo.hitbox = hitbox;
+ hitInfo.hurtbox = hurtbox;
+ hitInfo.contact = info.contact;
+ hitInfo.size = info.size;
+ hitInfo.hitDef = hitDef;
+
+ hitbox.Host.OnHit(hitInfo);
+
+ // 发送受击消息
+ HurtInfo hurtInfo = new HurtInfo();
+ hurtInfo.hitbox = hitbox;
+ hurtInfo.hurtbox = hurtbox;
+ hurtInfo.contact = info.contact;
+ hurtInfo.size = info.size;
+ hurtInfo.hitDef = hitDef;
+
+ hurtbox.Host.OnHurt(hurtInfo);
+ }
+ }
+ }
+
+ Hurtbox GetHurtboxByCollider(PhysicsPrimitive collider)
+ {
+ foreach(var hurtbox in m_HurtBoxes)
+ {
+ if(hurtbox.Collider == collider)
+ {
+ return hurtbox;
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/Assets/Scripts/Managers/HitManager.cs.meta b/Assets/Scripts/Managers/HitManager.cs.meta new file mode 100644 index 00000000..dab849f7 --- /dev/null +++ b/Assets/Scripts/Managers/HitManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e99f64b7dd0fd8d4aa9d7cc0d8fa2165 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Physics/PhysicsWorld.cs b/Assets/Scripts/Physics/PhysicsWorld.cs index c5fbe046..ec3b0ac8 100644 --- a/Assets/Scripts/Physics/PhysicsWorld.cs +++ b/Assets/Scripts/Physics/PhysicsWorld.cs @@ -33,6 +33,11 @@ public enum PhysicsTag /// </summary>
public class PhysicsWorld : Singleton<PhysicsWorld>
{
+ public delegate void Callback();
+
+ public Callback onUpdate;
+ public Callback onAfterUpdate;
+
private int m_UpdateRate = 60;
// 重力加速度
private readonly Vector3 m_Gravity = new Vector3(0, -30f, 0);
@@ -118,10 +123,13 @@ public class PhysicsWorld : Singleton<PhysicsWorld> while (deltaTime > 1f / m_UpdateRate)
{
Tick();
+ if(onUpdate != null)
+ onUpdate();
deltaTime -= 1f / m_UpdateRate;
}
m_TimeCount -= deltaTime;
- AfterUpdate();
+ if(onAfterUpdate != null)
+ onAfterUpdate();
}
// 更新之前
@@ -130,12 +138,6 @@ public class PhysicsWorld : Singleton<PhysicsWorld> m_CollisionInfo.Clear();
}
- // 更新之后
- private void AfterUpdate()
- {
-
- }
-
public void DrawGizmos()
{
#if UNITY_EDITOR
diff --git a/Assets/Scripts/Props.meta b/Assets/Scripts/Props.meta new file mode 100644 index 00000000..bb96602e --- /dev/null +++ b/Assets/Scripts/Props.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f299520ed9fcf4a45858ad4ef5a8d5d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Scene.meta b/Assets/Scripts/Scene.meta new file mode 100644 index 00000000..eb7a8716 --- /dev/null +++ b/Assets/Scripts/Scene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eaee2d0f48cff9b40baf0686a8105600 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Test/ArmorSoldierScript.cs b/Assets/Scripts/Test/ArmorSoldierScript.cs index 924d7874..b8afa8ee 100644 --- a/Assets/Scripts/Test/ArmorSoldierScript.cs +++ b/Assets/Scripts/Test/ArmorSoldierScript.cs @@ -36,4 +36,11 @@ public class ArmorSoldierScript : Avatar animator.CrossFade(Anim_HurtFront, 0);
} + public override void OnHurt(HurtInfo hurtInfo)
+ {
+ base.OnHurt(hurtInfo);
+ Hurt();
+ m_Body.AddForce(new Vector3(1000, 2000,0));
+ } + } diff --git a/Assets/Scripts/Test/SaionjiScript.cs b/Assets/Scripts/Test/SaionjiScript.cs index b63d4f7c..e2386350 100644 --- a/Assets/Scripts/Test/SaionjiScript.cs +++ b/Assets/Scripts/Test/SaionjiScript.cs @@ -95,4 +95,14 @@ public partial class SaionjiScript : Avatar }
}
+ public override void OnHit(HitInfo hitInfo)
+ {
+ base.OnHit(hitInfo);
+ }
+
+ public override void OnHurt(HurtInfo hurtInfo)
+ {
+ base.OnHurt(hurtInfo);
+ }
+
}
diff --git a/Assets/Scripts/Test/SaionjiUberAbility.cs b/Assets/Scripts/Test/SaionjiUberAbility.cs index b4d6444f..b1f39938 100644 --- a/Assets/Scripts/Test/SaionjiUberAbility.cs +++ b/Assets/Scripts/Test/SaionjiUberAbility.cs @@ -17,7 +17,7 @@ public class SaionjiUberAbility : UberAbility {
}
- public override void OnLateUpdate()
+ public override void OnPhysicsUpdate()
{
}
|