Beispiel #1
0
 internal void Dispatch(ComponentSystem system)
 {
     foreach (var key in _blocks.Keys)
     {
         var block = _blocks[key];
         if (!block.ArcheType->Includes(system.ArcheType))
         {
             continue;
         }
         block.Dispatch(system);
     }
 }
Beispiel #2
0
        internal void Dispatch(ComponentSystem system)
        {
            system.Block = this;
            int nchunk = _data.Count;

            system.PreUpdate();
            for (int chunkIndex = 0; chunkIndex < nchunk; ++chunkIndex)
            {
                var chunk = _data.GetChunk(chunkIndex);
                system.PreChunkIteration(chunk);
                int nentity = Mathf.Min(_usedCountInTotal - _countInChunk * chunkIndex, _countInChunk);
                system.OnUpdate(nentity);
            }
            system.Block = null;
        }
Beispiel #3
0
 public void Dispatch(ComponentSystem system)
 {
     _componentBlockManager.Dispatch(system);
 }