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

50 lines
1.4 KiB
C#
Raw Permalink Normal View History

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