Esempio n. 1
0
        private void RemoveGridFromMap(MyEntity myEntity)
        {
            var     grid = (MyCubeGrid)myEntity;
            GridMap gridMap;

            if (GridToInfoMap.TryRemove(grid, out gridMap))
            {
                ConcurrentListPool.Return(gridMap.MyCubeBocks);

                gridMap.Trash = true;
                GridMapPool.Return(gridMap);

                grid.OnFatBlockAdded   -= ToGridMap;
                grid.OnFatBlockRemoved -= FromGridMap;
                grid.OnClose           -= RemoveGridFromMap;
                grid.AddedToScene      -= GridAddedToScene;
                DirtyGridInfos.Add(grid);
            }
            else
            {
                Log.Line($"grid not removed and list not cleaned: marked:{grid.MarkedForClose}({grid.Closed}) - inScene:{grid.InScene}");
            }
        }