private void buttonModify_Click(object sender, System.EventArgs e) { string str = (string)listBox1.SelectedItem; if (str == null) { return; } CounterManager ctrm = ((LevelDoc)DocManager.GetActiveDocument(typeof(LevelDoc))).CounterManager; Counter ctr = ctrm[str]; string strNew = EditStringForm.DoModal("Modify Counter", "New Counter name:", str); if (strNew == null) { return; } if (strNew != str) { ctr.Name = strNew; listBox1.Items.Remove(str); int i = listBox1.Items.Add(strNew); listBox1.SelectedIndex = i; // UNDONE: doc is modified } }
public Counter GetSelectedCounter() { if (listBox1.SelectedIndex == -1) { return(null); } CounterManager ctrm = ((LevelDoc)DocManager.GetActiveDocument(typeof(LevelDoc))).CounterManager; return(ctrm[(string)listBox1.SelectedItem]); }
private void buttonDelete_Click(object sender, System.EventArgs e) { string str = (string)listBox1.SelectedItem; if (str == null) { return; } CounterManager ctrm = ((LevelDoc)DocManager.GetActiveDocument(typeof(LevelDoc))).CounterManager; Counter ctr = ctrm[str]; ctrm.RemoveCounter(ctr); listBox1.Items.Remove(str); // UNDONE: doc is modified }
private void buttonNew_Click(object sender, System.EventArgs e) { string str = EditStringForm.DoModal("New Counter", "New Counter name:", null); if (str != null) { CounterManager ctrm = ((LevelDoc)DocManager.GetActiveDocument(typeof(LevelDoc))).CounterManager; if (ctrm[str] == null) { ctrm.AddCounter(new Counter(str)); int i = listBox1.Items.Add(str); listBox1.SelectedIndex = i; // UNDONE: doc is modified } } }
// ISerializable implemented to prevent events from being serialized public LevelDoc(SerializationInfo info, StreamingContext ctx) : base((DocTemplate)(((Hashtable)ctx.Context)["DocTemplate"]), (string)(((Hashtable)ctx.Context)["Filename"])) { s_fLoading = true; CaTypeSwitch.InitFixupList(); Title = info.GetString("Title"); m_trcBounds.X = info.GetInt32("BoundsX"); m_trcBounds.Y = info.GetInt32("BoundsY"); m_trcBounds.Width = info.GetInt32("BoundsWidth"); m_trcBounds.Height = info.GetInt32("BoundsHeight"); try { // These were introduced at the same time so either they're both present or they both aren't m_ctx = info.GetInt32("Width"); m_cty = info.GetInt32("Height"); } catch (SerializationException) { } // Default values in case they aren't present m_nPlayersMin = 1; m_nPlayersMax = 1; try { // These were introduced at the same time so either they're both present or they both aren't m_nPlayersMin = info.GetInt32("MinPlayers"); m_nPlayersMax = info.GetInt32("MaxPlayers"); } catch (SerializationException) { } // Side info try { m_asidiDeserializationTemp = (SideInfo[])info.GetValue("SideInfos", typeof(SideInfo[])); } catch (SerializationException) { } // TriggerManager try { m_tgrm = (TriggerManager)info.GetValue("TriggerManager", typeof(TriggerManager)); } catch (SerializationException) { m_tgrm = new TriggerManager(); } // UnitGroupManager try { m_ugm = (UnitGroupManager)info.GetValue("UnitGroupManager", typeof(UnitGroupManager)); } catch (SerializationException) { m_ugm = new UnitGroupManager(); } // SwitchManager try { m_swm = (SwitchManager)info.GetValue("SwitchManager", typeof(SwitchManager)); } catch (SerializationException) { m_swm = new SwitchManager(); } // CounterManager try { m_ctrm = (CounterManager)info.GetValue("CounterManager", typeof(CounterManager)); } catch (SerializationException) { m_ctrm = new CounterManager(); } // Comment string try { m_strComment = info.GetString("Comment"); } catch (SerializationException) { } // Support old .ld's that have separate .map files string strTemplatesFileName = null; try { string strFile = info.GetString("MapFileName"); if (strFile != null) { Stream stm = null; try { IFormatter fmtr = new BinaryFormatter(); stm = new FileStream(m_strDir + Path.DirectorySeparatorChar + strFile, FileMode.Open, FileAccess.Read, FileShare.Read); strTemplatesFileName = (string)fmtr.Deserialize(stm); SetTemplateDoc((TemplateDoc)DocManager.OpenDocument(m_strDir + Path.DirectorySeparatorChar + strTemplatesFileName)); m_alsmi.AddRange((IMapItem[])fmtr.Deserialize(stm)); stm.Close(); } catch { if (stm != null) stm.Close(); } } } catch(SerializationException) { } // Load the desired template set if (m_tmpd == null) { try { strTemplatesFileName = info.GetString("TemplatesFileName"); SetTemplateDoc((TemplateDoc)DocManager.OpenDocument(m_strDir + Path.DirectorySeparatorChar + strTemplatesFileName)); } catch (SerializationException) { // If couldn't load it, use the active one SetTemplateDoc(null); string strT = "Couldn't load " + strTemplatesFileName; if (m_tmpd != null) strT += " - Using " + m_tmpd.GetName(); MessageBox.Show(strT); } } // Load the map items m_amiDeserializationTemp = (IMapItem[])info.GetValue("MapItems", typeof(IMapItem[])); }