private void OnDeleteAutoTile(object sender, EventArgs eventArgs) { if (m_deleteMessageBox.Show() == DialogResult.No) return; int currentIndex = m_autoTiles.IndexOf(m_selectedAutoTile); m_autoTiles.Remove(m_selectedAutoTile); UpdateIdComboBox(); if (m_autoTiles.Count == 0) { m_selectedAutoTile = null; m_cmbId.SelectedIndex = -1; m_btnRename.Enabled = false; m_tilePicker.Enabled = false; m_btnDelete.Enabled = false; } else { if (currentIndex >= m_autoTiles.Count) currentIndex = m_autoTiles.Count - 1; m_selectedAutoTile = m_autoTiles[currentIndex]; m_cmbId.SelectedIndex = currentIndex; } m_panelTemplate.Invalidate(); }
private void OnAutoTileSelected(object sender, EventArgs eventArgs) { if (m_cmbId.SelectedIndex == -1) { m_selectedAutoTile = null; m_txtNewId.Clear(); } else { m_selectedAutoTile = m_autoTiles[m_cmbId.SelectedIndex]; m_txtNewId.Text = m_selectedAutoTile.Id; } m_panelTemplate.Invalidate(); }
private void OnNewAutoTile(object sender, EventArgs eventArgs) { int[] indexSet = new int[16]; for (int index = 0; index < 16; index++) indexSet[index] = -1; // determine unused name int nameIndex = 1; string newId = null; while (true) { newId = "Auto Tile #" + nameIndex; bool duplicate = false; foreach (AutoTile autoTile in m_autoTiles) if (autoTile.Id == newId) { duplicate = true; break; } if (!duplicate) break; ++nameIndex; } AutoTile newAutoTile = new AutoTile(newId, m_tileSheet, indexSet); m_autoTiles.Add(newAutoTile); m_selectedAutoTile = newAutoTile; SortAutoTiles(); UpdateIdComboBox(); m_cmbId.SelectedIndex = m_autoTiles.IndexOf(m_selectedAutoTile); UpdateDialogState(true); m_btnRename.Enabled = true; m_tilePicker.Enabled = true; m_btnDelete.Enabled = true; }
private void OnDialogLoad(object sender, EventArgs eventArgs) { m_tilePicker.Map = m_tileSheet.Map; m_tilePicker.SelectedTileSheet = m_tileSheet; m_autoTiles = new List<AutoTile>( AutoTileManager.Instance.GetAutoTiles(m_tileSheet)); UpdateIdComboBox(); m_selectedAutoTile = null; if (m_autoTiles.Count > 0) { m_cmbId.SelectedIndex = 0; m_selectedAutoTile = m_autoTiles[0]; m_btnRename.Enabled = true; m_tilePicker.Enabled = true; m_btnDelete.Enabled = true; } }