using GFramework.Core.architecture;
using GFramework.Core.rule;
namespace GFramework.Core.system;
///
/// 抽象系统基类,实现系统接口的基本功能
/// 提供架构关联和初始化机制
///
public abstract class AbstractSystem : ISystem
{
private IArchitecture _mArchitecture;
///
/// 获取当前系统所属的架构实例
///
/// 返回系统关联的架构对象
IArchitecture IBelongToArchitecture.GetArchitecture()
{
return _mArchitecture;
}
///
/// 设置系统所属的架构实例
///
/// 要关联的架构对象
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture)
{
_mArchitecture = architecture;
}
///
/// 系统初始化方法,调用抽象初始化方法
///
void ISystem.Init()
{
OnInit();
}
///
/// 抽象初始化方法,由子类实现具体的初始化逻辑
///
protected abstract void OnInit();
}