Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 public SveltoUECSEntitiesSubmissionGroup
     (ISimpleEntitiesSubmissionScheduler submissionScheduler, World UECSWorld)
 {
     _submissionScheduler = submissionScheduler;
     _ECBSystem           = UECSWorld.CreateSystem <SubmissionEntitiesCommandBufferSystem>();
 }