Files
aibis-dream/Assets/Scripts/Framework/OtherKit/CoroutineKit.cs
T
2026-01-30 19:10:27 +08:00

35 lines
804 B
C#

using UnityEngine;
namespace AibisDream.Framework
{
/// <summary>
/// 协程信号,用于在协程中等待外部触发
/// </summary>
public class CoroutineSignal
{
private bool _isSet = false;
/// <summary>
/// 信号是否已被触发
/// </summary>
public bool IsSet => _isSet;
/// <summary>
/// 触发信号,所有等待的协程将继续执行
/// </summary>
public void Set()
{
_isSet = true;
}
/// <summary>
/// 在协程中等待信号被触发
/// </summary>
/// <returns>可用于 yield return 的 WaitUntil 对象</returns>
public WaitUntil Wait()
{
return new WaitUntil(() => _isSet);
}
}
}