Files
plugin-library/Assets/00.StaryEvo/Runtime/Design/ISystem.cs

30 lines
745 B
C#
Raw Normal View History

2025-03-31 11:16:52 +08:00
namespace Stary.Evo
{
public interface ISystem: IBelongToArchitecture,ICanSetArchitecture,ICanGetData,ICanGetUtility ,ICanRegisterEvent,ICanSendEvent,ICanGetSystem
{
void Init();
void Dispose();
}
public abstract class AbstractSystem : ISystem
{
private IArchitecture mArchitecture;
IArchitecture IBelongToArchitecture.GetArchitecture()
{
return mArchitecture;
}
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture)
{
mArchitecture = architecture;
}
void ISystem.Init()
{
OnInit();
}
public abstract void Dispose();
protected abstract void OnInit();
}
}