using System.Collections; using UnityEngine; public class Skill_ExplosionArea : ProjectileBase { [Header("스킬 판정 범위")] public BoxCollider m_Collider; public Transform tf_effect; Vector3 originScale = Vector3.zero; bool isStep3; public override void Set(ProjectileData _data) { if (originScale == Vector3.zero) originScale = tf_effect.localScale; _data.eStartPos = eProjectileStartPos.Custom; _data.v3_StartPos = _data.shooter.Get_position(); _data.Action_OnHit = hitter => { hitter.KnockBack(1f, 8f, null, true); }; base.Set(_data); transform.eulerAngles = Vector3.zero; Set_ReduceCoolTime_byStep(1); isStep3 = IsStep(3); StartCoroutine(Co_ExplosionArea()); } IEnumerator Co_ExplosionArea() { tf_effect.localScale = originScale; if (IsStep(2)) tf_effect.localScale *= Get_AwakenData(2, 1); m_Collider.enabled = true; yield return null; yield return null; m_Collider.enabled = false; yield return new WaitForSeconds(1.5f); Off(true); } public override bool ProcessCollider(Collider other, bool Off_byHit = true, bool NoDMG = false) { if (base.ProcessCollider(other, Off_byHit, NoDMG)) { if (isStep3) other.GetComponent().Stun_AfterKnockBack(Get_AwakenData(3, 1)); return true; } return false; } }