mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 18:52:08 +08:00
- 将Init方法统一重命名为Initialize方法以提高一致性 - 修改Architecture类中的组件注册逻辑,优化去重判断 - 更新ECS系统基础类以使用新的初始化接口 - 重构EcsWorld类使用属性自动实现而非私有字段 - 移除过时的EcsUsageExample示例文件 - 更新相关测试类以匹配新的初始化方法命名 - 改进代码注释和文档字符串格式
58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using GFramework.Core.Abstractions.logging;
|
|
using GFramework.Core.Abstractions.utility;
|
|
using GFramework.Core.logging;
|
|
using GFramework.Core.rule;
|
|
|
|
namespace GFramework.Core.utility;
|
|
|
|
/// <summary>
|
|
/// 抽象上下文工具类,提供上下文相关的通用功能实现
|
|
/// 继承自ContextAwareBase并实现IContextUtility接口
|
|
/// </summary>
|
|
public abstract class AbstractContextUtility : ContextAwareBase, IContextUtility
|
|
{
|
|
/// <summary>
|
|
/// 日志记录器
|
|
/// </summary>
|
|
protected ILogger Logger = null !;
|
|
|
|
/// <summary>
|
|
/// 初始化上下文工具类
|
|
/// </summary>
|
|
public void Initialize()
|
|
{
|
|
var name = GetType().Name;
|
|
// 获取上下文中的日志记录器
|
|
Logger = LoggerFactoryResolver.Provider.CreateLogger(name);
|
|
Logger.Debug($"Initializing Context Utility: {name}");
|
|
|
|
// 执行子类实现的初始化逻辑
|
|
OnInit();
|
|
|
|
// 记录初始化完成信息
|
|
Logger.Info($"Context Utility initialized: {name}");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 销毁上下文工具类实例
|
|
/// </summary>
|
|
public void Destroy()
|
|
{
|
|
var name = GetType().Name;
|
|
Logger.Debug($"Destroying Context Utility: {name}");
|
|
OnDestroy();
|
|
Logger.Info($"Context Utility destroyed: {name}");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 抽象初始化方法,由子类实现具体的初始化逻辑
|
|
/// </summary>
|
|
protected abstract void OnInit();
|
|
|
|
/// <summary>
|
|
/// 虚拟销毁方法,可由子类重写以实现自定义销毁逻辑
|
|
/// </summary>
|
|
protected virtual void OnDestroy()
|
|
{
|
|
}
|
|
} |