using System;
namespace GFramework.Game.Abstractions.coroutine;
///
/// 协程句柄接口,用于管理和控制协程的执行状态
///
public interface ICoroutineHandle
{
///
/// 获取协程的上下文对象
///
ICoroutineContext Context { get; }
///
/// 获取协程是否已被取消的标志
///
bool IsCancelled { get; }
///
/// 获取协程是否已完成的标志
///
bool IsDone { get; }
///
/// 当协程完成时触发的事件
///
event Action? OnComplete;
///
/// 当协程发生错误时触发的事件
///
event Action? OnError;
///
/// 取消协程的执行
///
void Cancel();
}