private void AddGridToMap() { MyCubeGrid grid; while (NewGrids.TryDequeue(out grid)) { var allFat = ConcurrentListPool.Get(); var gridFat = grid.GetFatBlocks(); for (int i = 0; i < gridFat.Count; i++) { allFat.Add(gridFat[i]); } allFat.ApplyAdditions(); var gridMap = GridMapPool.Get(); if (grid.Components.TryGet(out gridMap.Targeting)) { gridMap.Targeting.AllowScanning = false; } gridMap.Trash = true; gridMap.MyCubeBocks = allFat; GridToInfoMap.TryAdd(grid, gridMap); grid.OnFatBlockAdded += ToGridMap; grid.OnFatBlockRemoved += FromGridMap; grid.OnClose += RemoveGridFromMap; DirtyGridInfos.Add(grid); } }
private void GridAddedToScene(MyEntity myEntity) { try { NewGrids.Enqueue(myEntity as MyCubeGrid); } catch (Exception ex) { Log.Line($"Exception in GridAddedToScene: {ex}"); } }