35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Projectile_StopAndColliderControl : ProjectileBase
|
|
{
|
|
public Collider m_Collider;
|
|
[Header("다단히트 갯수")]
|
|
public int Loop = 1;
|
|
[Header("꺼졌다 켜지는 간격(0 == 1프레임)")]
|
|
public float DelayTime = 1f;
|
|
[Header("충돌박스가 켜져있는 프레임")]
|
|
public int ColliderActiveFrame = 2;
|
|
|
|
public override void Set(ProjectileData _data)
|
|
{
|
|
base.Set(_data);
|
|
transform.eulerAngles = Vector3.zero;
|
|
m_Pierce = true; // 이펙트 사라지지 않게
|
|
StartCoroutine(Co_Collider());
|
|
}
|
|
|
|
IEnumerator Co_Collider()
|
|
{
|
|
for (int i = 0; i < Loop; i++)
|
|
{
|
|
m_Collider.enabled = false;
|
|
yield return new WaitForSeconds(DelayTime > 0f ? DelayTime : Time.deltaTime);
|
|
m_Collider.enabled = true;
|
|
for (int j = 0; j < ColliderActiveFrame; j++)
|
|
yield return null;
|
|
}
|
|
m_Collider.enabled = false;
|
|
}
|
|
} |