private LeoSystemData CreateSystemInfo(Type systemType) { var defaultSystemInfo = new LeoSystemData() { updateType = PlayerLoopTiming.Update, }; return(defaultSystemInfo); }
private void ActivateSystem(Type systemType, LeoSystemData data, IEcsSystem ecsSystem) { var systemInfo = GetSystemInfo(systemType); if (!systemInfo.IsActive) { systemInfo.data = data; var system = ecsSystem ?? _factory.Create(systemType); var systems = system is IEcsRunSystem ? new EcsSystems(_world).Add(system, systemType.Name): new EcsSystems(_world).Add(system); systemInfo.systems = systems; systemInfo.ecsSystem = system; systems.Init(); _updateQueues[data.updateType].Add(systems); } systemInfo.counter++; }
public void ActivateSystem(IEcsSystem system, LeoSystemData systemData) { var systemType = system.GetType(); ActivateSystem(systemType, systemData, system); }
public static void ActivateSystem(this EcsWorld world, IEcsSystem system, LeoSystemData systemInfo) { var ecsWorld = GetWorld(world); ecsWorld.ActivateSystem(system); }