47 lines
655 B
C#
47 lines
655 B
C#
using UnityEngine;
|
|
|
|
namespace RoR2;
|
|
|
|
public class DestroyOnTimer : MonoBehaviour
|
|
{
|
|
public float duration;
|
|
|
|
public bool resetAgeOnDisable;
|
|
|
|
private float age;
|
|
|
|
private EffectManagerHelper efh;
|
|
|
|
private void Start()
|
|
{
|
|
if (!efh)
|
|
{
|
|
efh = GetComponent<EffectManagerHelper>();
|
|
}
|
|
}
|
|
|
|
private void FixedUpdate()
|
|
{
|
|
age += Time.fixedDeltaTime;
|
|
if (age > duration)
|
|
{
|
|
if ((bool)efh && efh.OwningPool != null)
|
|
{
|
|
efh.OwningPool.ReturnObject(efh);
|
|
}
|
|
else
|
|
{
|
|
Object.Destroy(base.gameObject);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (resetAgeOnDisable || ((bool)efh && efh.OwningPool != null))
|
|
{
|
|
age = 0f;
|
|
}
|
|
}
|
|
}
|