public void NewMaterial() { NameDialog nameDialog = new NameDialog(); RewriteDialog rewrite = new RewriteDialog(); DialogResult rewriteResult; if (nameDialog.ShowDialog() == DialogResult.OK) { if (Material.floor.ContainsKey(nameDialog.textBox.Text)) { do { rewriteResult = rewrite.ShowDialog(); if (rewriteResult == DialogResult.OK) { Material.floor.Remove(nameDialog.textBox.Text); Material.floor.Add(nameDialog.textBox.Text, materialEditPreview.CreateMaterial(nameDialog.textBox.Text)); break; } else if (rewriteResult == DialogResult.Retry) { nameDialog.ShowDialog(); } else if (rewriteResult == DialogResult.Cancel) { break; } } while (Material.floor.ContainsKey(nameDialog.textBox.Text)); if (rewriteResult == DialogResult.Retry) { Material.floor.Add(nameDialog.textBox.Text, materialEditPreview.CreateMaterial(nameDialog.textBox.Text)); } } else { Material.floor.Add(nameDialog.textBox.Text, materialEditPreview.CreateMaterial(nameDialog.textBox.Text)); } } nameDialog.Dispose(); rewrite.Dispose(); }