diff options
Diffstat (limited to 'marching/Assets/Scripts/Unit')
-rw-r--r-- | marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs index 8de5aff..2026034 100644 --- a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs +++ b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs @@ -18,6 +18,7 @@ namespace MH [SerializeField] private WaypointScript m_Waypoint; [SerializeField] private float m_Speed; [SerializeField] private BladeScript m_Blade; + [SerializeField] private GameObject m_GroundBreak; private SpriteRenderer m_Sprite; private bool m_Moving; @@ -41,7 +42,7 @@ namespace MH m_Sprite = GetComponent<SpriteRenderer>(); m_TimeSinceLastMove = float.MaxValue; StartCoroutine(CoAttack(1f)); - StartCoroutine(CoStrike(3f)); + StartCoroutine(CoStrike(1f)); } protected override void Update() @@ -182,14 +183,25 @@ namespace MH private void Strike() { - float radius = 2; Vector3 pos = transform.position; + + float radius = 2; + + var go = Instantiate(m_GroundBreak); + go.transform.position = pos; + go.gameObject.SetActive(true); + go.transform.localScale *= radius / 1.7f; + var colliders = PhysicsManager.Instance.CircleCast(ColliderType.Hurtbox, new Vector3(pos.x, pos.y, radius)); if (colliders.Count != 0) { for(int i = 0; i < colliders.Count; ++i) { - GameObject.Destroy((colliders[i] as MonoBehaviour).gameObject); + go = (colliders[i] as MonoBehaviour).gameObject; + if(go != this.gameObject) + { + GameObject.Destroy(go); + } } } } |