public void Remove(GridMapLayer layer) { mapLayers.Remove(layer); layer.Grid.patch.SetMapLayer(null); // If it's the last patch then remove the data layer var dataLayer = layer.Grid.patch.DataLayer; if (!dataLayer.HasLoadedPatchesInView()) { visibleDataLayers.Remove(dataLayer); } OnShowGrid?.Invoke(layer, false); Destroy(layer.gameObject); ArrangeLayers(); }
public void Add(GridMapLayer layer, GridData grid) { layer.Init(map, grid); #if UNITY_EDITOR layer.name = grid.patch.DataLayer.Name; if (!string.IsNullOrWhiteSpace(grid.patch.Filename)) { layer.name += Patch.GetFileNamePatch(grid.patch.Filename); } #endif var dataLayer = grid.patch.DataLayer; layer.SetColor(dataLayer.Color); layer.transform.SetParent(transform, false); mapLayers.Add(layer); grid.patch.SetMapLayer(layer); if (!visibleDataLayers.Contains(dataLayer)) { visibleDataLayers.Add(dataLayer); } OnShowGrid?.Invoke(layer, true); ArrangeLayers(); if (GridMapLayer.ManualGammaCorrection) { layer.SetGamma(gamma); } else { UpdateGamma(layer); } }