void CreateUnityECSWorldForSvelto(ISimpleEntitiesSubmissionScheduler scheduler, EnginesRoot enginesRoot) { world = new World("Svelto<>UECS world"); var systems = DefaultWorldInitialization.GetAllSystems(WorldSystemFilterFlags.Default); DefaultWorldInitialization.AddSystemsToRootLevelSystemGroups(world, systems); World.DefaultGameObjectInjectionWorld = world; //This is the UECS group that takes care of all the UECS systems that creates entities //it also submits Svelto entities _sveltoUecsEntitiesSubmissionGroup = new SveltoUECSEntitiesSubmissionGroup(scheduler, world); enginesRoot.AddEngine(_sveltoUecsEntitiesSubmissionGroup); //This is the group that handles the UECS sync systems that copy the svelto entities values to UECS entities _syncSveltoToUecsGroup = new SyncSveltoToUECSGroup(); enginesRoot.AddEngine(_syncSveltoToUecsGroup); _syncUecsToSveltoGroup = new SyncUECSToSveltoGroup(); enginesRoot.AddEngine(_syncUecsToSveltoGroup); //This is the group that handles the UECS sync systems that copy the UECS entities values to svelto entities //enginesRoot.AddEngine(new SveltoUECSEntitiesSubmissionGroup(scheduler, world)); enginesRoot.AddEngine(this); _enginesRoot = enginesRoot; }
public SveltoUECSEntitiesSubmissionGroup (ISimpleEntitiesSubmissionScheduler submissionScheduler, World UECSWorld) { _submissionScheduler = submissionScheduler; _ECBSystem = UECSWorld.CreateSystem <SubmissionEntitiesCommandBufferSystem>(); }