com.alicizax.unity.tuyoogam.../Runtime/OperationSystem/GameAsyncOperation.cs

59 lines
1.3 KiB
C#
Raw Normal View History

2025-01-09 11:31:04 +08:00

namespace YooAsset
{
public abstract class GameAsyncOperation : AsyncOperationBase
{
2025-02-28 16:11:01 +08:00
internal override void InternalStart()
2025-01-09 11:31:04 +08:00
{
OnStart();
}
2025-02-28 16:11:01 +08:00
internal override void InternalUpdate()
2025-01-09 11:31:04 +08:00
{
OnUpdate();
}
2025-02-28 16:11:01 +08:00
internal override void InternalAbort()
2025-01-09 11:31:04 +08:00
{
OnAbort();
}
internal override void InternalWaitForAsyncComplete()
{
OnWaitForAsyncComplete();
}
/// <summary>
/// 异步操作开始
/// </summary>
protected abstract void OnStart();
/// <summary>
/// 异步操作更新
/// </summary>
protected abstract void OnUpdate();
/// <summary>
/// 异步操作终止
/// </summary>
protected abstract void OnAbort();
/// <summary>
/// 异步等待完成
/// </summary>
protected virtual void OnWaitForAsyncComplete() { }
/// <summary>
/// 异步操作系统是否繁忙
/// </summary>
protected bool IsBusy()
{
return OperationSystem.IsBusy;
}
/// <summary>
/// 终止异步操作
/// </summary>
protected void Abort()
{
2025-02-28 16:11:01 +08:00
AbortOperation();
2025-01-09 11:31:04 +08:00
}
}
}