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

46 lines
1.3 KiB
C#
Raw 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;
bool isStep3;
2024-12-15 01:39:39 +00:00
public override void Set(ProjectileData _data)
{
2024-12-17 04:55:18 +00:00
_data.eStartPos = eProjectileStartPos.Custom;
_data.v3_StartPos = _data.shooter.Get_position();
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()
{
2024-12-17 04:55:18 +00:00
m_Collider.size = Vector3.one * 4f;
if (IsStep(2)) m_Collider.size = Vector3.one * (4f + Get_AwakenData(2, 1));
m_Collider.enabled = false;
yield return new WaitForSeconds(2.8f);
m_Collider.enabled = true;
yield return new WaitForSeconds(0.05f);
m_Collider.enabled = false;
yield return new WaitForSeconds(0.5f);
Off(true);
}
public override bool ProcessCollider(Collider other, bool Off_byHit = true)
{
if (base.ProcessCollider(other, Off_byHit))
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
}
}