summaryrefslogtreecommitdiff
path: root/marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-05-09 18:52:28 +0800
committerchai <215380520@qq.com>2023-05-09 18:52:28 +0800
commit4afa7c36ba9ec33ed113dcfb7cd33bd630d444f2 (patch)
treead7260d6a1e84cd1ab56493294301df34d6bb5a6 /marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs
parentf986dc197b5e093575bc0b56ee0ded991c228639 (diff)
*misc
Diffstat (limited to 'marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs')
-rw-r--r--marching/Assets/Scripts/Unit/Characters/Samurai/SamuraiScript.cs18
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);
+ }
}
}
}