using System; using System.Collections.Generic; using System.Linq; namespace Coroutine { /// /// This class can be used for static coroutine handling of any kind. /// Note that it uses an underlying object for management. /// public static class CoroutineHandler { private static readonly CoroutineHandlerInstance Instance = new CoroutineHandlerInstance(); /// public static ActiveCoroutine Start(IEnumerable coroutine) { return Instance.Start(coroutine); } /// public static ActiveCoroutine Start(IEnumerator coroutine) { return Instance.Start(coroutine); } /// public static void InvokeLater(Wait wait, Action action) { Instance.InvokeLater(wait, action); } /// public static void Tick(double deltaSeconds) { Instance.Tick(deltaSeconds); } /// public static void RaiseEvent(Event evt) { Instance.RaiseEvent(evt); } /// public static IEnumerable GetActiveCoroutines() { return Instance.GetActiveCoroutines(); } } }