private void ButtonAddAwakeOnClick(object sender, EventArgs e) { int selectedComboIndex = ComboBoxAwakeType.SelectedIndex; if (selectedComboIndex == -1) { Display.Error("You cannot add an awake without telling me which awaketype silly!"); return; } int newAwakeValue = (int)NumericAwakeValue.Value; var newAwakeName = _serverConfig.AwakeTypes[selectedComboIndex].Name; int newAwakeGroup = (int)NumericAwakeGroup.Value; ListviewAwakes.Items.Add(new ListViewItem(new string[] { newAwakeName, newAwakeValue.ToString(), newAwakeGroup.ToString(), })); GroupBoxNewAwake.Visible = false; ResetAddAwakeControls(); var newAwake = new Awake() { Name = newAwakeName, Value = newAwakeValue, TypeIndex = Convert.ToInt16(selectedComboIndex), }; foreach (var preferredAwake in _preferredAwakeItems) { // Are they in the same group? if (newAwakeGroup == preferredAwake.Group) { if (preferredAwake.Awake.TypeIndex == newAwake.TypeIndex) { Display.Info("This type of awake is already added to the list.\n\n" + "When you add two different, they will interally be converted into one, the same goes for the awake on the item.\n\n" + "Example: If you add one STR+50 awake into the list, the bot will stop when it gets e.g. STR+23 and STR+30 because it will turn into STR+53 internally."); } } } _preferredAwakeItems.Add(new AwakeItem { Awake = newAwake, Group = newAwakeGroup, }); }
private static List <Awake> ReadAwakeTypes(XmlNode settingsNode) { var awakeTypeNodes = XmlUtils.GetNode("AwakeTypes", settingsNode.ChildNodes); List <Awake> awakeTypes = new List <Awake>(); foreach (XmlNode awakeTypeNode in awakeTypeNodes) { if (awakeTypeNode.Name == "Type") { var awake = new Awake() { Name = XmlUtils.GetAttribute(awakeTypeNode, "name").Value, Text = XmlUtils.GetAttribute(awakeTypeNode, "gametext").Value, TypeIndex = (short)awakeTypes.Count, }; awakeTypes.Add(awake); } } return(awakeTypes); }