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

34 lines
784 B
C#
Raw Normal View History

2025-03-31 11:16:52 +08:00
namespace Stary.Evo
{
public interface IData: IBelongToArchitecture,ICanSetArchitecture,ICanGetUtility ,ICanSendEvent
{
void Init();
void Dispose();
}
public abstract class AbstractData : IData
{
private IArchitecture mArchitecture;
//接口阉割,子类重写无法用子类调用
IArchitecture IBelongToArchitecture.GetArchitecture()
{
return mArchitecture;
}
void ICanSetArchitecture.SetArchitecture(IArchitecture architecture)
{
mArchitecture = architecture;
}
void IData.Init()
{
OnInit();
}
public abstract void Dispose();
//数据初始化
protected abstract void OnInit();
}
}