Project_WL/Assets/Script/Character/Projectile/Skill/Skill_SpinSlash.cs

48 lines
1.4 KiB
C#
Raw Normal View History

2025-02-05 06:20:52 +00:00
using System.Collections;
using UnityEngine;
public class Skill_SpinSlash : Projectile_StopAndColliderControl
{
2025-05-09 06:41:22 +00:00
[Header("처음 이동 속도")]
public float m_firstspeed = 4f;
2025-02-05 06:20:52 +00:00
[Header("이동 속도")]
public float m_speed = 2f;
2025-05-09 06:41:22 +00:00
bool hitStart;
2025-02-05 06:20:52 +00:00
public override void Set(ProjectileData _data)
{
2025-05-09 06:41:22 +00:00
hitStart = false;
2025-02-05 06:20:52 +00:00
_data.eStartPos = eProjectileStartPos.ShooterCenter;
2025-05-09 06:41:22 +00:00
_data.Action_OnHit = hitter =>
{
hitStart = true;
hitter.Attract(transform.position);
};
2025-02-05 06:20:52 +00:00
base.Set(_data);
LookAt_ShooterFoward();
StartCoroutine(Co_Update());
act_End = () => { Off(true); };
}
IEnumerator Co_Update()
{
2025-05-09 06:41:22 +00:00
while (!hitStart)
{
yield return null;
if (DSUtil.CheckNull(m_ProjecTileData.target)) break;
transform.position = Vector3.MoveTowards(transform.position, m_ProjecTileData.target.Get_position(),
m_firstspeed * Time.deltaTime);
}
2025-02-05 06:20:52 +00:00
while (true)
{
2025-05-09 06:41:22 +00:00
yield return null;
2025-02-05 06:20:52 +00:00
if (DSUtil.CheckNull(m_ProjecTileData.target)) break;
transform.position = Vector3.MoveTowards(transform.position, m_ProjecTileData.target.Get_position(),
m_speed * Time.deltaTime);
}
}
}