/// <summary> /// Handles the TerrainDeleted event of the <see cref="TerrainManager"/> class. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="TerrainDeletedEventArgs"/> instance containing the event data.</param> private void TerrainDeleted(object sender, TerrainDeletedEventArgs e) { using (UndoRedoManager.Start("Deleting terrain")) { foreach (var map in Maps) { foreach (var layer in map.ConcreteLayers) { foreach (var tile in layer.Tiles) { if (tile.Terrain == e.ID) { tile.SrcX = 0; tile.SrcY = 0; tile.Terrain = 0; tile.Tileset = 0; } } } foreach (var layer in map.Layers) { foreach (var tile in layer.Tiles) { if (tile.Terrain == e.ID) { tile.SrcX = 0; tile.SrcY = 0; tile.Terrain = 0; tile.Tileset = 0; } } } map.CacheAllTiles(); } UndoRedoManager.Commit(); } }
/// <summary> /// Handles the TerrainDeleted event of the <see cref="TerrainManager"/> object. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="TerrainDeletedEventArgs"/> instance containing the event data.</param> private void TerrainDeleted(object sender, TerrainDeletedEventArgs e) { string selectednode = null; if (treeProject.SelectedNode.Name == "Terrain" + e.Name) selectednode = terrainNode.Name; foreach (TreeNode node in terrainNode.Nodes) { if (node != null) { if (node.Text == e.Name) terrainNode.Nodes.Remove(node); } } SortNodes(selectednode); }