From 4afa7c36ba9ec33ed113dcfb7cd33bd630d444f2 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Tue, 9 May 2023 18:52:28 +0800 Subject: *misc --- .../Scripts/Unit/Characters/Samurai/SamuraiScript.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'marching/Assets/Scripts/Unit') 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(); 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); + } } } } -- cgit v1.1-26-g67d0