diff options
author | chai <chaifix@163.com> | 2021-08-30 13:49:30 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-30 13:49:30 +0800 |
commit | 07fd372981a16672af23e30816ade14fcb744804 (patch) | |
tree | abae0cc59048b230d5caa5326afa71caddf863ee /Assets/Scripts/Unit/Controller/MonsterController.cs | |
parent | e5faa213bae57d3d7a92ceb078b4d1ddbe3c2f0c (diff) |
击中反馈
Diffstat (limited to 'Assets/Scripts/Unit/Controller/MonsterController.cs')
-rw-r--r-- | Assets/Scripts/Unit/Controller/MonsterController.cs | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/Assets/Scripts/Unit/Controller/MonsterController.cs b/Assets/Scripts/Unit/Controller/MonsterController.cs index ba738dfc..29ac9dcd 100644 --- a/Assets/Scripts/Unit/Controller/MonsterController.cs +++ b/Assets/Scripts/Unit/Controller/MonsterController.cs @@ -1,9 +1,21 @@ using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
public class MonsterController : UnitController
{
+ public override UnitType type { get { return UnitType.Monster; } }
+
+ public Vector3 center
+ {
+ get
+ {
+ return GetComponentInChildren<Renderer>().bounds.center;
+ }
+ }
public override void Initialize(GameObject obj, string folder)
{
@@ -19,9 +31,34 @@ public class MonsterController : UnitController public override void Update()
{
base.Update();
+ }
-
+ public override void OnHit(CollisionInfo info)
+ {
}
+ public override void OnGetHit(CollisionInfo info)
+ {
+ ColliderBox hitbox = info.collider.colliderInfo.collider;
+ Debug.Assert(hitbox.type == ColliderBox.EColliderType.HitBox);
+
+ if(hitbox.hitResponse == ColliderBox.EHitResponse.Light)
+ {
+ monsterState.ChangeState(MonsterState.EUnitState.HitLight, new MonsterState.HitLightParam());
+ }
+ else if(hitbox.hitResponse == ColliderBox.EHitResponse.HitAir)
+ {
+ }
+
+ string path = hitbox.sparkPath;
+#if UNITY_EDITOR
+ GameObject vfx = AssetDatabase.LoadAssetAtPath<GameObject>(path);
+ if(vfx != null)
+ {
+ GameObject go = GameObject.Instantiate(vfx);
+ go.transform.position = center;
+ }
+#endif
+ }
-}
+}
\ No newline at end of file |