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

49 lines
1.3 KiB
C#
Raw Normal View History

2025-01-14 23:44:08 +00:00
using System.Collections;
using UnityEngine;
public class Skill_VitalStrike : ProjectileBase
{
public GameObject go_effect;
2025-05-04 00:44:24 +00:00
public Collider m_Collider;
2025-01-14 23:44:08 +00:00
public override void Set(ProjectileData _data)
{
base.Set(_data);
transform.position = _data.shooter.Get_Center_position();
StartCoroutine(Co_Update());
}
IEnumerator Co_Update()
{
go_effect.SetActive(false);
2025-05-04 00:44:24 +00:00
m_Collider.enabled = false;
2025-01-14 23:44:08 +00:00
// 내 앞까지 끌어당기기
2025-05-04 00:44:24 +00:00
var targetpos = m_ProjecTileData.shooter.Get_PositionFoward(1f);
var firstpos = m_ProjecTileData.target.Get_position();
m_ProjecTileData.target.Stop(true);
2025-01-14 23:44:08 +00:00
float t = 0f;
while (t < 1f)
{
yield return null;
t += Time.deltaTime * 8f;
m_ProjecTileData.target.Set_Warp(Vector3.Lerp(firstpos, targetpos, t));
2025-01-14 23:44:08 +00:00
}
m_ProjecTileData.target.Set_Warp(targetpos);
2025-01-14 23:44:08 +00:00
2025-05-04 00:44:24 +00:00
yield return new WaitForSeconds(0.75f);
2025-01-14 23:44:08 +00:00
2025-05-04 00:44:24 +00:00
LookAt_Target();
2025-01-14 23:44:08 +00:00
go_effect.SetActive(true);
2025-05-04 00:44:24 +00:00
m_Collider.enabled = true;
2025-02-16 00:14:00 +00:00
if (!DSUtil.CheckNull(m_ProjecTileData.target))
m_ProjecTileData.target.Stop(false);
2025-01-14 23:44:08 +00:00
2025-05-04 00:44:24 +00:00
yield return null;
yield return null;
m_Collider.enabled = false;
yield return new WaitForSeconds(2f);
2025-01-14 23:44:08 +00:00
Off(true);
}
}