From 07fd372981a16672af23e30816ade14fcb744804 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 30 Aug 2021 13:49:30 +0800 Subject: =?UTF-8?q?=E5=87=BB=E4=B8=AD=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scripts/Unit/Controller/MonsterController.cs | 41 ++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'Assets/Scripts/Unit/Controller/MonsterController.cs') 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().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(path); + if(vfx != null) + { + GameObject go = GameObject.Instantiate(vfx); + go.transform.position = center; + } +#endif + } -} +} \ No newline at end of file -- cgit v1.1-26-g67d0