using System.Collections; namespace GFramework.Game.coroutine; /// /// 全局协程作用域管理器,提供全局唯一的协程执行环境 /// public static class GlobalCoroutineScope { private static CoroutineScope? _instance; /// /// 获取全局协程作用域实例,如果未初始化则抛出异常 /// private static CoroutineScope Instance => _instance ?? throw new InvalidOperationException("GlobalScope not initialized"); /// /// 初始化全局协程作用域 /// /// 协程调度器实例 public static void Initialize(CoroutineScheduler scheduler) => _instance = new CoroutineScope(scheduler, "GlobalScope"); /// /// 在全局作用域中启动一个协程 /// /// 要执行的协程枚举器 /// 协程句柄,用于控制和管理协程生命周期 public static CoroutineHandle Launch(IEnumerator routine) => Instance.Launch(routine); }