//--------------------------------------------------------------------- // EDITING //--------------------------------------------------------------------- public void UpdateName(HAMType type, int element, string newName) { switch (type) { case HAMType.VClip: VClips[element].Name = newName; return; case HAMType.EClip: EClips[element].Name = newName; return; case HAMType.Robot: Robots[element].Name = newName; return; case HAMType.Weapon: Weapons[element].Name = newName; return; case HAMType.Sound: SoundNames[element] = newName; return; case HAMType.Model: Models[element].Name = newName; return; case HAMType.Powerup: Powerups[element].Name = newName; return; } }
private void DeleteElem_Click(object sender, EventArgs e) { HAMType type = typeTable[PageNumber]; Transaction transaction = null; int maxNum = 0; //nothing to delete if (GetNumElements(type) == 0) { return; } switch (type) { case HAMType.TMAPInfo: transaction = new DeleteTMAPInfoTransaction(datafile, ElementNumber, PageNumber); maxNum = Math.Max(0, datafile.TMapInfo.Count - 1); break; case HAMType.VClip: transaction = new DeleteVClipTransaction(datafile, ElementNumber, PageNumber); maxNum = Math.Max(0, datafile.VClips.Count - 1); break; } if (transaction != null) { transactionManager.ApplyTransaction(transaction); ElementListInit(); //Ensure all local lists are updated, and update the spinner. SetElementNumber(Math.Min(ElementNumber, maxNum)); } }
private void InsertElem_Click(object sender, EventArgs e) { HAMType type = typeTable[EditorTabs.SelectedIndex]; int newID = datafile.AddElement(type); if (newID != -1) { //Update the maximum of the numeric up/down control and ensure that any comboboxes that need to be regenerated for the current element are ElementListInit(); ElementSpinner.Value = newID; } }
private void ListElem_Click(object sender, EventArgs e) { HAMType type = typeTable[PageNumber]; ElementList elementList = new ElementList(datafile, type); if (elementList.ShowDialog() == DialogResult.OK) { if (elementList.ElementNumber != -1) { ElementSpinner.Value = elementList.ElementNumber; } } elementList.Dispose(); }
public ElementList(EditorHAMFile datafile, HAMType type) { InitializeComponent(); switch (type) { case HAMType.VClip: foreach (String name in datafile.VClipNames) { ElementListBox.Items.Add(name); } break; case HAMType.EClip: foreach (String name in datafile.EClipNames) { ElementListBox.Items.Add(name); } break; case HAMType.Robot: foreach (String name in datafile.RobotNames) { ElementListBox.Items.Add(name); } break; case HAMType.Weapon: foreach (String name in datafile.WeaponNames) { ElementListBox.Items.Add(name); } break; case HAMType.Model: foreach (String name in datafile.ModelNames) { ElementListBox.Items.Add(name); } break; case HAMType.Sound: foreach (String name in datafile.SoundNames) { ElementListBox.Items.Add(name); } break; } }
public ElementList(EditorHAMFile datafile, HAMType type) { InitializeComponent(); switch (type) { case HAMType.VClip: foreach (VClip vclip in datafile.VClips) { ElementListBox.Items.Add(vclip.Name); } break; case HAMType.EClip: foreach (EClip clip in datafile.EClips) { ElementListBox.Items.Add(clip.Name); } break; case HAMType.Robot: foreach (Robot robot in datafile.Robots) { ElementListBox.Items.Add(robot.Name); } break; case HAMType.Weapon: foreach (Weapon weapon in datafile.Weapons) { ElementListBox.Items.Add(weapon.Name); } break; case HAMType.Model: foreach (Polymodel model in datafile.Models) { ElementListBox.Items.Add(model.Name); } break; case HAMType.Sound: foreach (String name in datafile.SoundNames) { ElementListBox.Items.Add(name); } break; } }
private int GetNumElements(HAMType type) { switch (type) { case HAMType.TMAPInfo: return(datafile.Textures.Count); case HAMType.VClip: return(datafile.VClips.Count); case HAMType.EClip: return(datafile.EClips.Count); case HAMType.WClip: return(datafile.WClips.Count); case HAMType.Sound: return(254); case HAMType.Robot: return(datafile.Robots.Count); case HAMType.Weapon: return(datafile.Weapons.Count); case HAMType.Model: return(datafile.Models.Count); case HAMType.Powerup: return(datafile.Powerups.Count); case HAMType.Reactor: return(datafile.Reactors.Count); case HAMType.Cockpit: return(datafile.Cockpits.Count); case HAMType.Gauge: return(datafile.Gauges.Count); case HAMType.Ship: return(1); case HAMType.XLAT: return(datafile.BitmapXLATData.Length); } return(1); }
public int CopyElement(HAMType type, int source, int destination) { /*switch (type) * { * case HAMType.Robot: * if (source < Robots.Count && destination < Robots.Count) * Robots[destination].CopyDataFrom(Robots[source], this); * else * return -1; * break; * case HAMType.Weapon: * if (source < Weapons.Count && destination < Weapons.Count) * Weapons[destination].CopyDataFrom(Weapons[source], this); * else * return -1; * break; * default: * return 1; * }*/ return(0); }
private void DeleteElem_Click(object sender, EventArgs e) { HAMType type = typeTable[EditorTabs.SelectedIndex]; int returnv = datafile.DeleteElement(type, ElementNumber); if (returnv >= 0) { //Update the maximum of the numeric up/down control and ensure that any comboboxes that need to be regenerated for the current element are ElementListInit(); isLocked = true; if (ElementSpinner.Value >= returnv) { ElementSpinner.Value = returnv - 1; } FillOutCurrentPanel(EditorTabs.SelectedIndex, ElementNumber); isLocked = false; } else { statusBar1.Text = "Can't delete last element: It is being referenced by other elements"; } }
private void InsertElem_Click(object sender, EventArgs e) { HAMType type = typeTable[EditorTabs.SelectedIndex]; /*int newID = datafile.AddElement(type); * if (newID != -1) * { * //Update the maximum of the numeric up/down control and ensure that any comboboxes that need to be regenerated for the current element are * ElementListInit(); * ElementSpinner.Value = newID; * }*/ int newNum = 0; Transaction transaction = null; switch (type) { case HAMType.TMAPInfo: newNum = datafile.Textures.Count; transaction = new AddTextureTransaction("Add Texture", datafile, "Textures", "TMapInfo", datafile.Textures.Count, 0, new TMAPInfo(), ElementNumber, PageNumber); break; case HAMType.VClip: newNum = datafile.VClips.Count; transaction = new ListAddTransaction("Add VClip", datafile, "VClips", datafile.VClips.Count, new VClip(), ElementNumber, PageNumber); break; case HAMType.EClip: newNum = datafile.EClips.Count; transaction = new ListAddTransaction("Add EClip", datafile, "EClips", datafile.EClips.Count, new EClip(), ElementNumber, PageNumber); break; case HAMType.WClip: newNum = datafile.WClips.Count; transaction = new ListAddTransaction("Add WClip", datafile, "WClips", datafile.WClips.Count, new WClip(), ElementNumber, PageNumber); break; case HAMType.Robot: newNum = datafile.Robots.Count; transaction = new ListAddTransaction("Add Robot", datafile, "Robots", datafile.Robots.Count, new Robot(), ElementNumber, PageNumber); break; case HAMType.Weapon: newNum = datafile.Weapons.Count; transaction = new ListAddTransaction("Add Weapon", datafile, "Weapons", datafile.Weapons.Count, new Weapon(), ElementNumber, PageNumber); break; case HAMType.Model: newNum = datafile.Models.Count; transaction = new ListAddTransaction("Add Polymodel", datafile, "Models", datafile.Models.Count, new Polymodel(10), ElementNumber, PageNumber); break; case HAMType.Powerup: newNum = datafile.Powerups.Count; transaction = new ListAddTransaction("Add Powerup", datafile, "Powerups", datafile.Powerups.Count, new Powerup(), ElementNumber, PageNumber); break; case HAMType.Reactor: newNum = datafile.Reactors.Count; transaction = new ListAddTransaction("Add Reactor", datafile, "Reactors", datafile.Reactors.Count, new Reactor(), ElementNumber, PageNumber); break; case HAMType.Cockpit: newNum = datafile.Cockpits.Count; transaction = new ListAddTransaction("Add Cockpit bitmap", datafile, "Cockpits", datafile.Cockpits.Count, (ushort)0, ElementNumber, PageNumber); break; } if (transaction != null) { transactionManager.ApplyTransaction(transaction); ElementListInit(); //Ensure all local lists are updated, and update the spinner. ElementSpinner.Value = newNum; } }