54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
public class Skill_IceArrows : ProjectileBase
|
|
{
|
|
[Header("공중 높이")]
|
|
public float m_height = 4f;
|
|
[Header("피해 범위")]
|
|
public float m_range = 1.5f;
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
if (!DSUtil.CheckNull(_data.target))
|
|
{
|
|
_data.v3_StartPos = _data.target.Get_Center_position() + Vector3.up * m_height;
|
|
_data.eStartPos = eProjectileStartPos.Custom;
|
|
_data.LookTarget = false;
|
|
_data.SetSkillExtraType = false;
|
|
_data.Speed = 7.5f;
|
|
|
|
base.Set(_data);
|
|
|
|
float range = m_range;
|
|
if (IsStep(1))
|
|
{
|
|
transform.localScale = Vector3.one * 2f;
|
|
range += Get_AwakenData(2, 1);
|
|
}
|
|
_data.e_SkillExtraType = IsStep(2) ? eSkillExtraType.Slow : eSkillExtraType.None;
|
|
_data.SetSkillExtraType = false;
|
|
if (IsStep(3))
|
|
_data.CC_AddVal2 = Get_AwakenData(3, 1);
|
|
|
|
StartCoroutine(Co_Move_Strait(eProjectileStrait.Down));
|
|
StartCoroutine(Co_IceArrows(range));
|
|
}
|
|
else
|
|
Off();
|
|
}
|
|
|
|
IEnumerator Co_IceArrows(float range)
|
|
{
|
|
yield return new WaitForSeconds(0.5f);
|
|
Show_HitEffect(false, null);
|
|
if (!DSUtil.CheckNull(m_ProjectTileData.target))
|
|
{
|
|
var enemies = Get_Enemies(m_ProjectTileData.target.transform, range);
|
|
for (int i = 0; i < enemies.Count; i++)
|
|
enemies[i].Get_Damage(Get_DamageInfo());
|
|
}
|
|
|
|
Off(true);
|
|
}
|
|
} |