mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 在 Architecture 中添加对 IAsyncDestroyable 接口的支持 - 将销毁集合类型从 IDestroyable 改为 object 以支持多种销毁接口 - 实现 DestroyAsync 方法提供异步销毁能力 - 保留旧的同步 Destroy 方法用于向后兼容 - 在 StateMachineSystem 中添加异步销毁状态的支持 - 添加 IAsyncDestroyable、IAsyncInitializable 和 IAsyncLifecycle 接口定义 - 更新测试代码以使用新的异步销毁方法 - 在架构销毁时清理依赖注入容器
48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using GFramework.Core.Abstractions.enums;
|
||
using GFramework.Core.Abstractions.lifecycle;
|
||
using GFramework.Core.model;
|
||
|
||
namespace GFramework.Core.Tests.model;
|
||
|
||
/// <summary>
|
||
/// 异步测试模型类,实现了IModel和IAsyncInitializable接口
|
||
/// </summary>
|
||
public sealed class AsyncTestModel : AbstractModel, IAsyncInitializable
|
||
{
|
||
/// <summary>
|
||
/// 获取模型是否已初始化的标志
|
||
/// </summary>
|
||
public bool Initialized { get; private set; }
|
||
|
||
/// <summary>
|
||
/// 异步初始化方法,模拟异步初始化过程
|
||
/// </summary>
|
||
/// <returns>表示异步操作的Task</returns>
|
||
public async Task InitializeAsync()
|
||
{
|
||
await Task.Delay(10);
|
||
Initialized = true;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 同步初始化方法,该方法不应该被调用
|
||
/// </summary>
|
||
/// <exception cref="InvalidOperationException">当该方法被调用时抛出异常</exception>
|
||
public void Init()
|
||
{
|
||
// sync Init 不应该被调用
|
||
throw new InvalidOperationException("Sync Init should not be called");
|
||
}
|
||
|
||
/// <summary>
|
||
/// 处理架构阶段事件
|
||
/// </summary>
|
||
/// <param name="phase">架构阶段枚举值</param>
|
||
public override void OnArchitecturePhase(ArchitecturePhase phase)
|
||
{
|
||
}
|
||
|
||
protected override void OnInit()
|
||
{
|
||
}
|
||
} |