40 lines
842 B
C#
40 lines
842 B
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace ZXL
|
|
{
|
|
public class ZCoroutine : MonoBehaviour
|
|
{
|
|
private static ZCoroutine instance;
|
|
|
|
private Queue<IEnumerator> pool = new Queue<IEnumerator>();
|
|
|
|
public static ZCoroutine Instance => instance;
|
|
|
|
private void Awake()
|
|
{
|
|
if (instance != null)
|
|
{
|
|
Destroy(this.gameObject);
|
|
}
|
|
|
|
instance = this;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (pool.Count > 0)
|
|
{
|
|
var enumerator = pool.Dequeue();
|
|
StartCoroutine(enumerator);
|
|
}
|
|
}
|
|
|
|
public void AddIEnumerator(IEnumerator enumerator)
|
|
{
|
|
pool.Enqueue(enumerator);
|
|
}
|
|
}
|
|
} |