2023-03-12 02:02:39 +08:00
|
|
|
|
namespace DCFApixels.DragonECS
|
|
|
|
|
{
|
2023-03-12 20:45:18 +08:00
|
|
|
|
public interface IEcsPreInitSystem : IEcsSystem
|
2023-03-12 02:02:39 +08:00
|
|
|
|
{
|
|
|
|
|
public void PreInit(EcsSession session);
|
|
|
|
|
}
|
2023-03-12 20:45:18 +08:00
|
|
|
|
public interface IEcsInitSystem : IEcsSystem
|
2023-03-12 02:02:39 +08:00
|
|
|
|
{
|
|
|
|
|
public void Init(EcsSession session);
|
|
|
|
|
}
|
2023-03-12 20:45:18 +08:00
|
|
|
|
public interface IEcsRunSystem : IEcsSystem
|
2023-03-12 02:02:39 +08:00
|
|
|
|
{
|
|
|
|
|
public void Run(EcsSession session);
|
|
|
|
|
}
|
2023-03-12 20:45:18 +08:00
|
|
|
|
public interface IEcsDestroySystem : IEcsSystem
|
2023-03-12 02:02:39 +08:00
|
|
|
|
{
|
|
|
|
|
public void Destroy(EcsSession session);
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-16 01:49:14 +08:00
|
|
|
|
public interface IEcsBaseSystem :
|
2023-03-12 02:02:39 +08:00
|
|
|
|
IEcsInitSystem,
|
|
|
|
|
IEcsRunSystem,
|
|
|
|
|
IEcsDestroySystem
|
|
|
|
|
{ }
|
|
|
|
|
|
|
|
|
|
public sealed class EcsPreInitRunner : EcsRunner<IEcsPreInitSystem>, IEcsPreInitSystem
|
|
|
|
|
{
|
|
|
|
|
void IEcsPreInitSystem.PreInit(EcsSession session)
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in targets) item.PreInit(session);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public sealed class EcsInitRunner : EcsRunner<IEcsInitSystem>, IEcsInitSystem
|
|
|
|
|
{
|
|
|
|
|
void IEcsInitSystem.Init(EcsSession session)
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in targets) item.Init(session);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public sealed class EcsRunRunner : EcsRunner<IEcsRunSystem>, IEcsRunSystem
|
|
|
|
|
{
|
|
|
|
|
void IEcsRunSystem.Run(EcsSession session)
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in targets) item.Run(session);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public sealed class EcsDestroyRunner : EcsRunner<IEcsDestroySystem>, IEcsDestroySystem
|
|
|
|
|
{
|
|
|
|
|
void IEcsDestroySystem.Destroy(EcsSession session)
|
|
|
|
|
{
|
|
|
|
|
foreach (var item in targets) item.Destroy(session);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|