49 lines
1.3 KiB
C#
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);
|
|
}
|
|
} |