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

49 lines
1.3 KiB
C#

using System.Collections;
using UnityEngine;
public class Skill_VitalStrike : ProjectileBase
{
public GameObject go_effect;
public Collider m_Collider;
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);
m_Collider.enabled = false;
// 내 앞까지 끌어당기기
var targetpos = m_ProjecTileData.shooter.Get_PositionFoward(1f);
var firstpos = m_ProjecTileData.target.Get_position();
m_ProjecTileData.target.Stop(true);
float t = 0f;
while (t < 1f)
{
yield return null;
t += Time.deltaTime * 8f;
m_ProjecTileData.target.Set_Warp(Vector3.Lerp(firstpos, targetpos, t));
}
m_ProjecTileData.target.Set_Warp(targetpos);
yield return new WaitForSeconds(0.75f);
LookAt_Target();
go_effect.SetActive(true);
m_Collider.enabled = true;
if (!DSUtil.CheckNull(m_ProjecTileData.target))
m_ProjecTileData.target.Stop(false);
yield return null;
yield return null;
m_Collider.enabled = false;
yield return new WaitForSeconds(2f);
Off(true);
}
}