diff options
Diffstat (limited to 'marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs')
-rw-r--r-- | marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs index 262c821..8de5aff 100644 --- a/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs +++ b/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs @@ -1,7 +1,9 @@ +using JetBrains.Annotations; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; +using UnityEngine.UIElements; namespace MH { @@ -39,6 +41,7 @@ namespace MH m_Sprite = GetComponent<SpriteRenderer>(); m_TimeSinceLastMove = float.MaxValue; StartCoroutine(CoAttack(1f)); + StartCoroutine(CoStrike(3f)); } protected override void Update() @@ -160,6 +163,37 @@ namespace MH } } + IEnumerator CoStrike(float interval) + { + int fac = 1; + while (true) + { + if (!m_Attacking) + { + yield return null; + } + else + { + Strike(); + yield return new WaitForSeconds(interval); + } + } + } + + private void Strike() + { + float radius = 2; + Vector3 pos = transform.position; + 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); + } + } + } + } } |