public void Run(EcsSystems systems) { if (_filter == null) { var world = GetWorld(systems); _pool1 = world.GetPool <T1> (); _filter = GetFilter(world); _thread = new TThread(); _worker = _thread.Execute; } _thread.Init( _filter.GetRawEntities(), _pool1.GetRawDenseItems(), _pool1.GetRawSparseItems()); SetData(systems, _thread); ThreadService.Run(_worker, _filter.GetEntitiesCount(), GetChunkSize(systems)); }