45 lines
1.4 KiB
C#
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_ProjecTileData.target))
|
|
transform.position = m_ProjecTileData.target.Get_position();
|
|
else
|
|
Off(true);
|
|
}
|
|
|
|
IEnumerator Co_Update()
|
|
{
|
|
var t = time + (IsStep(1) ? Get_AwakenData(1, 1) : 0);
|
|
var target = m_ProjecTileData.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_ProjecTileData.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);
|
|
}
|
|
} |