using Milimoe.FunGame.Core.Library.Common.Network; namespace Milimoe.FunGame.Core.Library.Common.Architecture { /// /// 继承这个类可以获得后台等待的功能 /// 参考实现 /// public abstract class AsyncWorker { /// /// 接收到的实例 /// protected abstract T? Work { get; set; } /// /// 是否处于等待服务器响应的状态 /// protected bool Working { get; set; } = false; /// /// 异步操作前,请设置为等待状态 /// protected virtual void SetWorking() { Working = true; Work = default; } /// /// 请等待任务完成 /// protected virtual void WaitForWorkDone() { while (true) { if (!Working) break; Thread.Sleep(100); } } } }