예제 #1
0
        public static void LoadChangeset(string FileName, bool RevertChanges)
        {
            XmlDocument Changeset = new XmlDocument();

            try {
                Changeset.Load(FileName);
            }
            catch (Exception E) {
                MessageBox.Show(String.Format(I18N.GetText("Message:ChangesetLoadError"), E.Message), I18N.GetText("Title:ChangesetLoadError"), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            foreach (XmlNode XN in Changeset.DocumentElement.ChildNodes)
            {
                XmlElement XNameChange = XN as XmlElement;
                if (XNameChange != null && XNameChange.Name == "name-change" && XNameChange.HasAttribute("id") && XNameChange.HasAttribute("old") && XNameChange.HasAttribute("new"))
                {
                    uint   ID  = XmlConvert.ToUInt32(XNameChange.Attributes["id"].InnerText);
                    string Old = XNameChange.Attributes["old"].InnerText;
                    string New = XNameChange.Attributes["new"].InnerText;
                    if (RevertChanges)
                    {
                        NameChange.Add(ID, New, Old);
                    }
                    else
                    {
                        NameChange.Add(ID, Old, New);
                    }
                }
            }
        }
예제 #2
0
        private void lstNPCNames_AfterLabelEdit(object sender, LabelEditEventArgs e)
        {
            if (e.Label == null) // User made no changes to the label text
            {
                return;
            }
            NPCInfo NI = this.lstNPCNames.Items[e.Item].Tag as NPCInfo;

            if (NI != null)
            {
                string NewName = e.Label;
                if (NewName.Length > 0x18)
                {
                    NewName = NewName.Substring(0, 0x18);
                    this.lstNPCNames.Items[e.Item].Text = NewName;
                }
                NameChange.Add(NI.ID, NI.Name, NewName);
                NI.Name = NewName;
            }
        }
예제 #3
0
 public static void Revert(NameChange NC)
 {
     NameChange.Add(NC.ID, NC.New_, NC.Old_);
 }