예제 #1
0
 protected void IterateQuery(IQueryIterator iterator, EntityQuery query, bool onlyDirty = true)
 {
     if (onlyDirty)
     {
         EntityIterator.PerformIteration(World, iterator, query, LastVersionWorked);
     }
     else
     {
         EntityIterator.PerformIteration(World, iterator, query);
     }
 }
예제 #2
0
        private static void Perform(EntityWorld world, IQueryIterator iterator, EntityQuery query, bool checkVersion, uint version)
        {
            switch (iterator)
            {
            default:
                DevConsole.Log(LogType.Error, "Iterator not found.");
                return;

            case IQueryChunkIterator chunkIterator:
                PerformChunkIteration(world, chunkIterator, query, checkVersion, version);
                return;

            case IQueryEntityIterator entityIterator:
                PerformEntityIteration(world, entityIterator, query, checkVersion, version);
                return;
            }
        }
예제 #3
0
 public static void PerformIteration(EntityWorld world, IQueryIterator iterator, EntityQuery query, uint version) => Perform(world, iterator, query, true, version);
예제 #4
0
 public static void PerformIteration(EntityWorld world, IQueryIterator iterator, EntityQuery query) => Perform(world, iterator, query, false, 0);