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); } }
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; }
public void Dispatch(ComponentSystem system) { _componentBlockManager.Dispatch(system); }