Пример #1
0
        protected void ReadSavedConfig()
        {
            if (File.Exists(ConfigFilePath))
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(ConfigFilePath);
                XmlNode     libraryNode = xmldoc.SelectSingleNode("Library");
                XmlNode     presetsNode = libraryNode.SelectSingleNode("Presets");
                XmlNodeList presetNodes = presetsNode.SelectNodes("Preset");
                foreach (XmlNode presetNode in presetNodes)
                {
                    //	Create preset object, then assign Name, Territory, etc.
                    Presets.Add(new WaymarkPreset());
                    Presets.Last().Name         = presetNode.Attributes.GetNamedItem("Name").Value;
                    Presets.Last().ZoneID       = UInt16.Parse(presetNode.Attributes.GetNamedItem("ZoneID").Value);
                    Presets.Last().LastModified = DateTimeOffset.Parse(presetNode.Attributes.GetNamedItem("Time").Value);
                    XmlNodeList waymarkNodes    = presetNode.SelectNodes("Waymarks/Waymark");

                    //	Assign the data for each waymark in the preset.
                    foreach (XmlNode waymarkNode in waymarkNodes)
                    {
                        int waymarkNumber = WaymarkPreset.GetWaymarkNumber(waymarkNode.Attributes.GetNamedItem("ID").Value.First());
                        if (waymarkNumber < 0)
                        {
                            throw new Exception("Error: Invalid waymark ID while reading waymark library.");
                        }
                        Presets.Last().Waymarks[waymarkNumber].IsEnabled = bool.Parse(waymarkNode.Attributes.GetNamedItem("Active").Value);
                        XmlNode coordsNode = waymarkNode.SelectSingleNode("Coordinates");
                        Presets.Last().Waymarks[waymarkNumber].Pos.X = Double.Parse(coordsNode.Attributes.GetNamedItem("X").Value);
                        Presets.Last().Waymarks[waymarkNumber].Pos.Y = Double.Parse(coordsNode.Attributes.GetNamedItem("Y").Value);
                        Presets.Last().Waymarks[waymarkNumber].Pos.Z = Double.Parse(coordsNode.Attributes.GetNamedItem("Z").Value);
                    }
                }
            }
        }
 public void ReplacePreset(uint index, WaymarkPreset preset)
 {
     if (index < Presets.Length)
     {
         Presets[index] = preset;
     }
 }
 public GamePresetContainer(GamePresetContainer objToCopy)
 {
     Presets = new WaymarkPreset[objToCopy.Presets.Length];
     for (uint i = 0u; i < Presets.Length; ++i)
     {
         Presets[i] = new WaymarkPreset(objToCopy.Presets[i]);
     }
 }
 public GamePresetContainer(uint numPresets)
 {
     Presets = new WaymarkPreset[numPresets];
     for (uint i = 0u; i < Presets.Length; ++i)
     {
         Presets[i] = new WaymarkPreset();
     }
 }
        private void LibraryPresetNewButton_Click(object sender, EventArgs e)
        {
            WaymarkPreset newPreset = new WaymarkPreset();

            newPreset.Name = "New Preset";
            mPresetLibrary.AddPreset(newPreset);

            PopulateLibraryListBox();
        }
Пример #6
0
 public WaymarkPreset(WaymarkPreset objToCopy)
 {
     Name         = objToCopy.Name;
     ZoneID       = objToCopy.ZoneID;
     LastModified = objToCopy.LastModified;
     Waymarks     = new Waymark[objToCopy.Waymarks.Length];
     for (uint i = 0u; i < Waymarks.Length; ++i)
     {
         Waymarks[i] = new Waymark(objToCopy.Waymarks[i]);
     }
 }
 private void CopyToLibraryButton_Click(object sender, EventArgs e)
 {
     if (GamePresetListBox.SelectedIndex > -1 && GamePresetListBox.SelectedIndex < mSettings.GameDataSettings.NumberOfPresets &&
         CharacterListDropdown.SelectedIndex > -1 && CharacterListDropdown.SelectedIndex < mCharacterFolderList.Length)
     {
         WaymarkPreset newPreset = new WaymarkPreset(mGamePresetContainer.Presets[GamePresetListBox.SelectedIndex]);
         newPreset.Name = mSettings.CharacterAliasSettings.GetAlias(mCharacterFolderList[CharacterListDropdown.SelectedIndex].Split('\\').Last()) + " Slot " + (GamePresetListBox.SelectedIndex + 1).ToString();
         mPresetLibrary.AddPreset(newPreset);
         PopulateLibraryListBox();
     }
 }
Пример #8
0
 protected int PresetSortCompare(WaymarkPreset a, WaymarkPreset b)
 {
     if (a == null || b == null)
     {
         return(0);
     }
     else
     {
         return(a.ZoneID.CompareTo(b.ZoneID));
     }
 }
Пример #9
0
 public void Reload()
 {
     ReadSavedConfig();
     WaymarkPreset.SetWaymarkIDOrder(WaymarkIDOrder);
 }
        private void LibraryPresetExportButton_Click(object sender, EventArgs e)
        {
            if (LibraryListBox.SelectedIndex > -1 &&
                LibraryListBox.SelectedIndex < mPresetLibrary.Presets.Count)
            {
                PresetExportObject exportObj = new PresetExportObject();
                exportObj.Name   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Name;
                exportObj.ZoneID = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID;
                exportObj.Time   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].LastModified;

                exportObj.A.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.X;
                exportObj.A.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Y;
                exportObj.A.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Z;
                exportObj.A.ID     = WaymarkPreset.GetWaymarkNumber('A');
                exportObj.A.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].IsEnabled;

                exportObj.B.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.X;
                exportObj.B.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Y;
                exportObj.B.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Z;
                exportObj.B.ID     = WaymarkPreset.GetWaymarkNumber('B');
                exportObj.B.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].IsEnabled;

                exportObj.C.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.X;
                exportObj.C.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Y;
                exportObj.C.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Z;
                exportObj.C.ID     = WaymarkPreset.GetWaymarkNumber('C');
                exportObj.C.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].IsEnabled;

                exportObj.D.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.X;
                exportObj.D.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Y;
                exportObj.D.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Z;
                exportObj.D.ID     = WaymarkPreset.GetWaymarkNumber('D');
                exportObj.D.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].IsEnabled;

                exportObj.One.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.X;
                exportObj.One.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Y;
                exportObj.One.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Z;
                exportObj.One.ID     = WaymarkPreset.GetWaymarkNumber('1');
                exportObj.One.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].IsEnabled;

                exportObj.Two.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.X;
                exportObj.Two.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Y;
                exportObj.Two.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Z;
                exportObj.Two.ID     = WaymarkPreset.GetWaymarkNumber('2');
                exportObj.Two.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].IsEnabled;

                exportObj.Three.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.X;
                exportObj.Three.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Y;
                exportObj.Three.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Z;
                exportObj.Three.ID     = WaymarkPreset.GetWaymarkNumber('3');
                exportObj.Three.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].IsEnabled;

                exportObj.Four.X      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.X;
                exportObj.Four.Y      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Y;
                exportObj.Four.Z      = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Z;
                exportObj.Four.ID     = WaymarkPreset.GetWaymarkNumber('4');
                exportObj.Four.Active = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].IsEnabled;

                string objString = JsonConvert.SerializeObject(exportObj);
                Interaction.InputBox("Copy the JSON export string below:", "Preset Export", objString);
            }
        }
        private void LibraryPresetImportButton_Click(object sender, EventArgs e)
        {
            string input = Interaction.InputBox("Paste the JSON (*barf*) for the preset that you wish to import.  Accepts Paisley Park exports as well, but you'll have to manually set the zone ID for them.", "Import Preset");

            try
            {
                WaymarkPreset newPreset = new WaymarkPreset();

                dynamic importObj = JsonConvert.DeserializeObject(input);

                newPreset.Name = importObj.Name;
                if (DynamicObjectPropertyExists(importObj, "ZoneID"))
                {
                    newPreset.ZoneID = importObj.ZoneID;
                }
                if (DynamicObjectPropertyExists(importObj, "Time"))
                {
                    newPreset.LastModified = importObj.Time;
                }
                if (DynamicObjectPropertyExists(importObj, "A"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('A')].IsEnabled = importObj.A.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.X     = importObj.A.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Y     = importObj.A.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Z     = importObj.A.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "B"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('B')].IsEnabled = importObj.B.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.X     = importObj.B.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Y     = importObj.B.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Z     = importObj.B.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "C"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('C')].IsEnabled = importObj.C.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.X     = importObj.C.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Y     = importObj.C.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Z     = importObj.C.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "D"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('D')].IsEnabled = importObj.D.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.X     = importObj.D.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Y     = importObj.D.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Z     = importObj.D.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "One"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('1')].IsEnabled = importObj.One.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.X     = importObj.One.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Y     = importObj.One.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Z     = importObj.One.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "Two"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('2')].IsEnabled = importObj.Two.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.X     = importObj.Two.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Y     = importObj.Two.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Z     = importObj.Two.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "Three"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('3')].IsEnabled = importObj.Three.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.X     = importObj.Three.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Y     = importObj.Three.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Z     = importObj.Three.Z;
                }
                if (DynamicObjectPropertyExists(importObj, "Four"))
                {
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('4')].IsEnabled = importObj.Four.Active;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.X     = importObj.Four.X;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Y     = importObj.Four.Y;
                    newPreset.Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Z     = importObj.Four.Z;
                }

                mPresetLibrary.AddPreset(newPreset);
            }
            catch
            {
                MessageBox.Show("Unable to import the provided data.  This is probably due to improperly-formed JSON or missing fields.", "Import Failed!");
            }

            PopulateLibraryListBox();
        }
        private void LibraryPresetUpdateButton_Click(object sender, EventArgs e)
        {
            if (LibraryListBox.SelectedIndex > -1 && LibraryListBox.SelectedIndex < mPresetLibrary.Presets.Count)
            {
                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Name         = PresetNameTextBox.Text;
                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].LastModified = (PresetDatePicker.Value.Date + PresetTimePicker.Value.TimeOfDay).ToUniversalTime();

                //	The Zone ID will always come from the text box because the dropdown will populate that in the event that the user cannot edit it.
                UInt16 tempShort;
                if (UInt16.TryParse(PresetZoneTextBox.Text, out tempShort))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID = tempShort;
                }

                double tempDouble;
                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].IsEnabled = WaymarkACheckbox.Checked;
                if (double.TryParse(WaymarkATextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.X = tempDouble;
                }
                if (double.TryParse(WaymarkATextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Y = tempDouble;
                }
                if (double.TryParse(WaymarkATextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].IsEnabled = WaymarkACheckbox.Checked;
                if (double.TryParse(WaymarkBTextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.X = tempDouble;
                }
                if (double.TryParse(WaymarkBTextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Y = tempDouble;
                }
                if (double.TryParse(WaymarkBTextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].IsEnabled = WaymarkCCheckbox.Checked;
                if (double.TryParse(WaymarkCTextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.X = tempDouble;
                }
                if (double.TryParse(WaymarkCTextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Y = tempDouble;
                }
                if (double.TryParse(WaymarkCTextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].IsEnabled = WaymarkDCheckbox.Checked;
                if (double.TryParse(WaymarkDTextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.X = tempDouble;
                }
                if (double.TryParse(WaymarkDTextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Y = tempDouble;
                }
                if (double.TryParse(WaymarkDTextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].IsEnabled = Waymark1Checkbox.Checked;
                if (double.TryParse(Waymark1TextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.X = tempDouble;
                }
                if (double.TryParse(Waymark1TextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Y = tempDouble;
                }
                if (double.TryParse(Waymark1TextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].IsEnabled = Waymark2Checkbox.Checked;
                if (double.TryParse(Waymark2TextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.X = tempDouble;
                }
                if (double.TryParse(Waymark2TextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Y = tempDouble;
                }
                if (double.TryParse(Waymark2TextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].IsEnabled = Waymark3Checkbox.Checked;
                if (double.TryParse(Waymark3TextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.X = tempDouble;
                }
                if (double.TryParse(Waymark3TextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Y = tempDouble;
                }
                if (double.TryParse(Waymark3TextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Z = tempDouble;
                }

                mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].IsEnabled = Waymark4Checkbox.Checked;
                if (double.TryParse(Waymark4TextBox_X.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.X = tempDouble;
                }
                if (double.TryParse(Waymark4TextBox_Y.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Y = tempDouble;
                }
                if (double.TryParse(Waymark4TextBox_Z.Text, out tempDouble))
                {
                    mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Z = tempDouble;
                }

                PopulateLibraryListBox();
            }
        }
        private void PopulatePresetEditor(bool clear = false)
        {
            if (!clear && LibraryListBox.SelectedIndex > -1 && LibraryListBox.SelectedIndex < mPresetLibrary.Presets.Count)
            {
                PresetNameTextBox.Enabled = true;
                PresetDatePicker.Enabled  = true;
                PresetTimePicker.Enabled  = true;

                PresetZoneDropdown.Enabled = true;
                PresetZoneTextBox.Enabled  = true;

                WaymarkACheckbox.Enabled  = true;
                WaymarkATextBox_X.Enabled = true;
                WaymarkATextBox_Y.Enabled = true;
                WaymarkATextBox_Z.Enabled = true;

                WaymarkBCheckbox.Enabled  = true;
                WaymarkBTextBox_X.Enabled = true;
                WaymarkBTextBox_Y.Enabled = true;
                WaymarkBTextBox_Z.Enabled = true;

                WaymarkCCheckbox.Enabled  = true;
                WaymarkCTextBox_X.Enabled = true;
                WaymarkCTextBox_Y.Enabled = true;
                WaymarkCTextBox_Z.Enabled = true;

                WaymarkDCheckbox.Enabled  = true;
                WaymarkDTextBox_X.Enabled = true;
                WaymarkDTextBox_Y.Enabled = true;
                WaymarkDTextBox_Z.Enabled = true;

                Waymark1Checkbox.Enabled  = true;
                Waymark1TextBox_X.Enabled = true;
                Waymark1TextBox_Y.Enabled = true;
                Waymark1TextBox_Z.Enabled = true;

                Waymark2Checkbox.Enabled  = true;
                Waymark2TextBox_X.Enabled = true;
                Waymark2TextBox_Y.Enabled = true;
                Waymark2TextBox_Z.Enabled = true;

                Waymark3Checkbox.Enabled  = true;
                Waymark3TextBox_X.Enabled = true;
                Waymark3TextBox_Y.Enabled = true;
                Waymark3TextBox_Z.Enabled = true;

                Waymark4Checkbox.Enabled  = true;
                Waymark4TextBox_X.Enabled = true;
                Waymark4TextBox_Y.Enabled = true;
                Waymark4TextBox_Z.Enabled = true;

                LibraryPresetUpdateButton.Enabled = true;

                PresetNameTextBox.Text = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Name;
                PresetDatePicker.Value = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].LastModified.LocalDateTime.Date;
                PresetTimePicker.Value = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].LastModified.LocalDateTime;

                //	Set the zone in the dropdown if recognized; otherwise set custom and enable the text box for manual entry.  Remember that the indices will be off by one since we have custom as a zone ID option at the top of the list.
                bool isKnownZone = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID != 0 && mSettings.ZoneInfoSettings.ZoneDataExists(mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID);
                PresetZoneDropdown.SelectedIndex = isKnownZone ? mSettings.ZoneInfoSettings.GetIndex(mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID) + 1 : 0;
                PresetZoneTextBox.Enabled        = !isKnownZone;
                PresetZoneTextBox.Text           = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].ZoneID.ToString();

                WaymarkACheckbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].IsEnabled;
                WaymarkATextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.X.ToString();
                WaymarkATextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Y.ToString();
                WaymarkATextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('A')].Pos.Z.ToString();

                WaymarkBCheckbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].IsEnabled;
                WaymarkBTextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.X.ToString();
                WaymarkBTextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Y.ToString();
                WaymarkBTextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('B')].Pos.Z.ToString();

                WaymarkCCheckbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].IsEnabled;
                WaymarkCTextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.X.ToString();
                WaymarkCTextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Y.ToString();
                WaymarkCTextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('C')].Pos.Z.ToString();

                WaymarkDCheckbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].IsEnabled;
                WaymarkDTextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.X.ToString();
                WaymarkDTextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Y.ToString();
                WaymarkDTextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('D')].Pos.Z.ToString();

                Waymark1Checkbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].IsEnabled;
                Waymark1TextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.X.ToString();
                Waymark1TextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Y.ToString();
                Waymark1TextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('1')].Pos.Z.ToString();

                Waymark2Checkbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].IsEnabled;
                Waymark2TextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.X.ToString();
                Waymark2TextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Y.ToString();
                Waymark2TextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('2')].Pos.Z.ToString();

                Waymark3Checkbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].IsEnabled;
                Waymark3TextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.X.ToString();
                Waymark3TextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Y.ToString();
                Waymark3TextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('3')].Pos.Z.ToString();

                Waymark4Checkbox.Checked = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].IsEnabled;
                Waymark4TextBox_X.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.X.ToString();
                Waymark4TextBox_Y.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Y.ToString();
                Waymark4TextBox_Z.Text   = mPresetLibrary.Presets[LibraryListBox.SelectedIndex].Waymarks[WaymarkPreset.GetWaymarkNumber('4')].Pos.Z.ToString();
            }
            else
            {
                PresetNameTextBox.Enabled = false;
                PresetDatePicker.Enabled  = false;
                PresetTimePicker.Enabled  = false;

                PresetZoneDropdown.Enabled = false;
                PresetZoneTextBox.Enabled  = false;

                WaymarkACheckbox.Enabled  = false;
                WaymarkATextBox_X.Enabled = false;
                WaymarkATextBox_Y.Enabled = false;
                WaymarkATextBox_Z.Enabled = false;

                WaymarkBCheckbox.Enabled  = false;
                WaymarkBTextBox_X.Enabled = false;
                WaymarkBTextBox_Y.Enabled = false;
                WaymarkBTextBox_Z.Enabled = false;

                WaymarkCCheckbox.Enabled  = false;
                WaymarkCTextBox_X.Enabled = false;
                WaymarkCTextBox_Y.Enabled = false;
                WaymarkCTextBox_Z.Enabled = false;

                WaymarkDCheckbox.Enabled  = false;
                WaymarkDTextBox_X.Enabled = false;
                WaymarkDTextBox_Y.Enabled = false;
                WaymarkDTextBox_Z.Enabled = false;

                Waymark1Checkbox.Enabled  = false;
                Waymark1TextBox_X.Enabled = false;
                Waymark1TextBox_Y.Enabled = false;
                Waymark1TextBox_Z.Enabled = false;

                Waymark2Checkbox.Enabled  = false;
                Waymark2TextBox_X.Enabled = false;
                Waymark2TextBox_Y.Enabled = false;
                Waymark2TextBox_Z.Enabled = false;

                Waymark3Checkbox.Enabled  = false;
                Waymark3TextBox_X.Enabled = false;
                Waymark3TextBox_Y.Enabled = false;
                Waymark3TextBox_Z.Enabled = false;

                Waymark4Checkbox.Enabled  = false;
                Waymark4TextBox_X.Enabled = false;
                Waymark4TextBox_Y.Enabled = false;
                Waymark4TextBox_Z.Enabled = false;

                LibraryPresetUpdateButton.Enabled = false;

                PresetNameTextBox.Text = "";
                PresetDatePicker.Value = DateTime.Now;
                PresetTimePicker.Value = DateTime.Now;

                PresetZoneDropdown.SelectedIndex = 0;
                PresetZoneTextBox.Text           = "";

                WaymarkACheckbox.Checked = false;
                WaymarkATextBox_X.Text   = "";
                WaymarkATextBox_Y.Text   = "";
                WaymarkATextBox_Z.Text   = "";


                WaymarkBCheckbox.Checked = false;
                WaymarkBTextBox_X.Text   = "";
                WaymarkBTextBox_Y.Text   = "";
                WaymarkBTextBox_Z.Text   = "";


                WaymarkCCheckbox.Checked = false;
                WaymarkCTextBox_X.Text   = "";
                WaymarkCTextBox_Y.Text   = "";
                WaymarkCTextBox_Z.Text   = "";


                WaymarkDCheckbox.Checked = false;
                WaymarkDTextBox_X.Text   = "";
                WaymarkDTextBox_Y.Text   = "";
                WaymarkDTextBox_Z.Text   = "";


                Waymark1Checkbox.Checked = false;
                Waymark1TextBox_X.Text   = "";
                Waymark1TextBox_Y.Text   = "";
                Waymark1TextBox_Z.Text   = "";


                Waymark2Checkbox.Checked = false;
                Waymark2TextBox_X.Text   = "";
                Waymark2TextBox_Y.Text   = "";
                Waymark2TextBox_Z.Text   = "";


                Waymark3Checkbox.Checked = false;
                Waymark3TextBox_X.Text   = "";
                Waymark3TextBox_Y.Text   = "";
                Waymark3TextBox_Z.Text   = "";


                Waymark4Checkbox.Checked = false;
                Waymark4TextBox_X.Text   = "";
                Waymark4TextBox_Y.Text   = "";
                Waymark4TextBox_Z.Text   = "";
            }
        }
Пример #14
0
 public bool AddPreset(WaymarkPreset preset)
 {
     Presets.Add(preset);
     SortPresets();
     return(true);
 }