private void BtnRemove_Click(object sender, EventArgs e) { Button b = (Button)sender; AutoSplit a = (AutoSplit)b.Tag; a.deleted = true; }
public AutoSplitSettingsRow(AutoSplit autosplit) { InitializeComponent(); this.autosplit = autosplit; txtName.Text = autosplit.name; cmbType.Items.Add(new Item("Char Level", AutoSplit.TYPE_CHAR_LEVEL)); cmbType.Items.Add(new Item("Area", AutoSplit.TYPE_AREA)); cmbType.Items.Add(new Item("Item", AutoSplit.TYPE_ITEM)); cmbType.Items.Add(new Item("Quest", AutoSplit.TYPE_QUEST)); cmbType.Items.Add(new Item("Special", AutoSplit.TYPE_SPECIAL)); cmbType.SelectedIndex = autosplit.type; cmbDifficulty.Items.Add(new Item("Normal", 0)); cmbDifficulty.Items.Add(new Item("Nightmare", 1)); cmbDifficulty.Items.Add(new Item("Hell", 2)); cmbDifficulty.SelectedIndex = autosplit.difficulty; fillValueComboBox(); var i = 0; foreach (Item item in cmbValue.Items) { if (item.Value == autosplit.value) { cmbValue.SelectedIndex = i; break; } i++; } }
public AutoSplit(AutoSplit other) { Name = other.Name; Type = other.Type; Value = other.Value; Difficulty = other.Difficulty; }
/// <summary> /// Automatically fill in sequential quests such as Andariel to Duriel. /// Also handles difficulty levels. /// </summary> /// <param name="previous">The previous autosplit in the list. May be null.</param> /// <returns></returns> public AutoSplit CreateSequential(AutoSplit previous) { if (previous == null) { return(new AutoSplit("Game Start", AutoSplit.SplitType.Special, (short)AutoSplit.Special.GameStart, 0)); } // Follow up with Andariel after game start. if (previous.Type == AutoSplit.SplitType.Special && previous.Value == (int)AutoSplit.Special.GameStart) { return(CreateForQuest(D2QuestHelper.Quest.A1Q6, 0)); } // Sequence bosses. else if (previous.Type == AutoSplit.SplitType.Quest) { short difficulty = previous.Difficulty; D2QuestHelper.Quest quest = D2QuestHelper.Quest.A1Q1; switch ((D2QuestHelper.Quest)previous.Value) { case D2QuestHelper.Quest.A1Q1: // Den quest = D2QuestHelper.Quest.A1Q6; break; case D2QuestHelper.Quest.A1Q6: // Andariel quest = D2QuestHelper.Quest.A2Q6; break; case D2QuestHelper.Quest.A2Q6: // Duriel quest = D2QuestHelper.Quest.A3Q6; break; case D2QuestHelper.Quest.A3Q6: // Mephisto quest = D2QuestHelper.Quest.A4Q2; break; case D2QuestHelper.Quest.A4Q2: // Diablo quest = D2QuestHelper.Quest.A5Q6; break; case D2QuestHelper.Quest.A5Q6: // Baal // If we reached the last quest in hell, return an auto split with // the default values. if (++difficulty > 2) { return(Create()); } quest = D2QuestHelper.Quest.A1Q6; break; // Unsequenced quest. default: return(Create()); } return(CreateForQuest(quest, difficulty)); } return(Create()); }
private void addAutosplit(AutoSplit autosplit, int idx, bool addToMain = true) { AutoSplitSettingsRow row = new AutoSplitSettingsRow(autosplit); this.panel1.Controls.Add(row); int scroll = this.panel1.VerticalScroll.Value; idx = idx + 1; row.Location = new Point(0, -scroll + idx * 24); if (addToMain) { main.settings.autosplits.Add(autosplit); } }
void CompleteAutoSplit(AutoSplit autosplit, Character character) { // Autosplit already reached. if (autosplit.IsReached) { return; } autosplit.IsReached = true; main.triggerAutosplit(character); int autoSplitIndex = main.Settings.Autosplits.IndexOf(autosplit); Logger.Instance.WriteLine("AutoSplit: #{0} ({1}, {2}) Reached.", autoSplitIndex, autosplit.Name, autosplit.Difficulty); }
public void load() { if (!File.Exists("settings.conf")) { return; } List <AutoSplit> autosplitsNew = new List <AutoSplit>(); string[] conf = File.ReadAllLines("settings.conf"); string[] parts; string[] parts2; foreach (string line in conf) { parts = line.Split(new string[] { ": " }, 2, StringSplitOptions.None); switch (parts[0]) { case "Font": fontName = parts[1]; break; case "FontSize": try { fontSize = Int32.Parse(parts[1]); if (fontSize == 0) { fontSize = 10; } } catch { fontSize = 10; } break; case "FontSizeTitle": try { titleFontSize = Int32.Parse(parts[1]); if (titleFontSize == 0) { titleFontSize = 10; } } catch { titleFontSize = 10; } break; case "ShowDebug": showDebug = (parts[1] == "1"); break; case "CreateFiles": createFiles = (parts[1] == "1"); break; case "D2Version": d2Version = parts[1]; break; case "TriggerKeys": triggerKeys = parts[1]; break; case "DoAutosplit": doAutosplit = (parts[1] == "1"); break; case "AutoSplit": parts2 = parts[1].Split(new string[] { "|" }, 4, StringSplitOptions.None); if (parts2.Length == 3) { AutoSplit autosplit = new AutoSplit( parts2[0], Convert.ToInt16(parts2[1]), Convert.ToInt16(parts2[2]), (short)0 ); autosplitsNew.Add(autosplit); } else if (parts2.Length == 4) { AutoSplit autosplit = new AutoSplit( parts2[0], Convert.ToInt16(parts2[1]), Convert.ToInt16(parts2[2]), Convert.ToInt16(parts2[3]) ); autosplitsNew.Add(autosplit); } break; } } autosplits = autosplitsNew; }
public void addAutosplit(AutoSplit autosplit) { this.settings.autosplits.Add(autosplit); }