public void UpdateAttachedGrids() { AttachedGrids.Clear(); var box = Entity.WorldAABB; var entities = new List <MyEntity>(); MyGamePruningStructure.GetTopMostEntitiesInBox(ref box, entities, MyEntityQueryType.Static); foreach (var entity in entities.Where(e => e is IMyCubeGrid)) { var gridModel = Tree.Grids.FirstOrDefault(g => g.Entity.EntityId == entity.EntityId); if (gridModel == null) { gridModel = new GridViewModel((MyCubeGrid)entity, Tree); Tree.Grids.Add(gridModel); } AttachedGrids.Add(gridModel); } }
public async Task UpdateAttachedGrids() { //TODO: fix return; AttachedGrids.Clear(); var box = Entity.WorldAABB; var entities = new List <MyEntity>(); await TorchBase.Instance.InvokeAsync(() => MyEntities.GetTopMostEntitiesInBox(ref box, entities)).ConfigureAwait(false); foreach (var entity in entities.Where(e => e is IMyCubeGrid)) { if (Tree.Grids.TryGetValue(entity.EntityId, out var gridModel)) { gridModel = new GridViewModel((MyCubeGrid)entity, Tree); Tree.Grids.Add(entity.EntityId, gridModel); } AttachedGrids.Add(gridModel); } }