diff options
author | chai <215380520@qq.com> | 2023-05-09 18:52:28 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-05-09 18:52:28 +0800 |
commit | 4afa7c36ba9ec33ed113dcfb7cd33bd630d444f2 (patch) | |
tree | ad7260d6a1e84cd1ab56493294301df34d6bb5a6 /marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs | |
parent | f986dc197b5e093575bc0b56ee0ded991c228639 (diff) |
*misc
Diffstat (limited to 'marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs')
-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); + } } } } |