コード例 #1
0
        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,
            });
        }
コード例 #2
0
        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);
        }