private void buttonAddNew_Click(object sender, EventArgs e) { string new_name = InputBox.GetInput("New texture set", "Enter a name for the new texture set", ""); if (string.IsNullOrWhiteSpace(new_name)) { return; } new_name = new_name.Trim(); if (m_editor.TextureSets.Find(ts => (ts.Name == new_name)) != null) { MessageBox.Show("Invalid namne: There is already a texture set with that name.", "New Texture Set"); return; } TextureSet new_texture_set = new TextureSet(); new_texture_set.Name = new_name; new_texture_set.Wall = new_texture_set.Floor = new_texture_set.Ceiling = new_texture_set.Cave = m_editor.tm_level.m_name[0]; m_editor.TextureSets.Add(new_texture_set); SetModified(true); UpdateComboBox(); comboBoxTextureSets.SelectedItem = new_name; }
private void button_entity_move_Click(object sender, EventArgs e) { var editor = ActiveDocument; var level = ActiveLevel; var oldPos = level.GetSelectedEntity().position; string coords_text = InputBox.GetInput("Entity Coords", "Enter new coordinates for this entity", $"{oldPos.X},{oldPos.Y},{oldPos.Z}"); if (coords_text == null) { return; } string[] pos_coords = coords_text.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); if (pos_coords.Length != 3) { return; } Vector3 pos = Vector3.Zero; if (float.TryParse(pos_coords[0], out pos.X) && float.TryParse(pos_coords[1], out pos.Y) && float.TryParse(pos_coords[2], out pos.Z)) { level.EntityMoveToPos(pos); editor.RefreshGeometry(); } }
private void button_copy_Click(object sender, EventArgs e) { string name = InputBox.GetInput("Copy Decal", "Enter a name for this decal (must be valid filename)", ""); if (name == null) { return; } if (m_decal_list.IndexOf((string)name) != -1) { MessageBox.Show("Name '" + name + "' already used for a decal."); return; } DMesh src = m_active_dmesh; m_active_dmesh = new DMesh(""); m_active_dmesh.CopyDMesh(src); m_active_dmesh.name = name; SaveDecalMesh(m_active_dmesh); m_dmesh.Add(m_active_dmesh); m_decal_list.Add(m_active_dmesh.name); m_decal_readonly.Add(false); ListboxUpdate(m_active_dmesh.name); UpdateActiveDMesh(); gl_custom.Invalidate(); }
public void ImportOBJToDecalDialog(bool replace) { int old_active_dmesh_index = m_decal_list.IndexOf((string)m_active_dmesh.name); using (OpenFileDialog od = new OpenFileDialog()) { od.AddExtension = true; od.CheckFileExists = true; od.CheckPathExists = true; od.DefaultExt = ".obj"; od.Filter = "OBJ mesh files (*.obj) | *.obj"; od.Multiselect = false; od.Title = "Import an OBJ mesh file"; od.InitialDirectory = editor.m_filepath_decals + "\\OBJ"; DialogResult res = od.ShowDialog(); if (res != DialogResult.OK) { return; } m_active_dmesh = new DMesh(replace ? m_active_dmesh.name : ""); bool saved = ImportOBJToDecal(od.FileName); if (!saved) { listbox.SetSelected(old_active_dmesh_index, true); return; } if (replace) { m_dmesh[m_cur_dmesh] = m_active_dmesh; } else { string name = InputBox.GetInput("Import Decal Mesh", "Enter a name for this decal (must be valid filename)", ""); if (name == null) { listbox.SetSelected(old_active_dmesh_index, true); return; } if (m_decal_list.IndexOf((string)name) != -1) { MessageBox.Show("Name '" + name + "' already used for a decal."); listbox.SetSelected(old_active_dmesh_index, true); return; } m_active_dmesh.name = name; SaveDecalMesh(m_active_dmesh); m_dmesh.Add(m_active_dmesh); m_decal_list.Add(m_active_dmesh.name); m_decal_readonly.Add(false); ListboxUpdate(m_active_dmesh.name); } UpdateActiveDMesh(); gl_custom.Invalidate(); } }
private void button_NewCollection_Click(object sender, EventArgs e) { string collection_name = InputBox.GetInput("New collection", "Enter name for new collection", ""); if (string.IsNullOrWhiteSpace(collection_name)) { return; } collection_name = collection_name.Trim(); editor.TextureCollections.Add(new Editor.TextureCollection(collection_name)); comboBox_TextureCollection.Items.Add(collection_name); CollectionControlsUpdate(); }
private void buttonRenameTextureSet_Click(object sender, EventArgs e) { string new_name = InputBox.GetInput("New name", "Enter a new name for this texture set", GetSelectedItemText()); if (string.IsNullOrWhiteSpace(new_name)) { return; } new_name = new_name.Trim(); if (m_selected_set.Name == m_editor.m_level.m_texture_set_name) { m_editor.m_level.m_texture_set_name = new_name; } m_selected_set.Name = new_name; m_modified = true; comboBoxTextureSets.Items[comboBoxTextureSets.SelectedIndex] = DisplayName(new_name); }