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

45 lines
1.4 KiB
C#

using System.Collections;
using UnityEngine;
public class Skill_SpiritBless : ProjectileBase
{
[Header("스킬 유지 시간")]
public float time = 10f;
[Header("스킬 종료 시 이펙트")]
public GameObject go_endEffect;
public GameObject go_Effect;
public override void Set(ProjectileData _data)
{
_data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.target.Get_position();
base.Set(_data);
transform.eulerAngles = Vector3.zero;
go_Effect.SetActive(true);
go_endEffect.SetActive(false);
StartCoroutine(Co_Update());
}
private void Update()
{
if (!DSUtil.CheckNull(m_ProjectTileData.target))
transform.position = m_ProjectTileData.target.Get_position();
else
Off(true);
}
IEnumerator Co_Update()
{
var t = time + (IsStep(1) ? Get_AwakenData(1, 1) : 0);
var target = m_ProjectTileData.target;
target.Buff_or_Debuff(eCC.ATK_Up, t, Get_DamageInfo().Damage);
if (IsStep(2)) target.Buff_or_Debuff(eCC.ATKSPD_Up, t, Get_AwakenData(2, 1));
m_ProjectTileData.CC_AddVal1 = IsStep(3) ? Get_AwakenData(3, 1) : 0;
yield return new WaitForSeconds(t);
go_Effect.SetActive(false);
go_endEffect.SetActive(true);
yield return new WaitForSeconds(2f);
Off(true);
}
}