private async void ItemIcon_RightMouseUp(object sender, MouseEventArgs e)
        {
            Image itemImage = (Image)sender;
            Item  itemToBuy = (Item)itemImage.DataContext;

            ItemsToBuy.Clear();
            ItemsToBuy.Add(itemToBuy);

            calculateRemainingPrice();
        }
Beispiel #2
0
        public GoldSpenderMenu(Menu mainMenu)
        {
            var menu = new Menu("Gold spender", "goldSpender");

            var enabled = new MenuItem("spendGold", "Enabled").SetValue(true);

            enabled.SetTooltip("Buy items when you are about to die");
            menu.AddItem(enabled);
            enabled.ValueChanged += (sender, args) =>
            {
                IsEnabled = args.GetNewValue <bool>();
                OnEnabledChange?.Invoke(null, new BoolEventArgs(IsEnabled));
            };
            IsEnabled = enabled.IsActive();

            var hpThreshold = new MenuItem("goldSpenderHpThreshold", "HP threshold").SetValue(new Slider(150, 1, 500));

            hpThreshold.SetTooltip("Buy items if you have less HP");
            menu.AddItem(hpThreshold);
            hpThreshold.ValueChanged += (sender, args) => HpThreshold = args.GetNewValue <Slider>().Value;
            HpThreshold = hpThreshold.GetValue <Slider>().Value;

            var hpThresholdPct =
                new MenuItem("goldSpenderHpThresholdPct", "HP% threshold").SetValue(new Slider(20, 1, 40));

            hpThresholdPct.SetTooltip("Buy items if you have less HP%");
            menu.AddItem(hpThresholdPct);
            hpThresholdPct.ValueChanged += (sender, args) => HpThresholdPct = args.GetNewValue <Slider>().Value;
            HpThresholdPct = hpThresholdPct.GetValue <Slider>().Value;

            var enemyDistance =
                new MenuItem("goldSpenderEnemyDistance", "Enemy distance").SetValue(new Slider(600, 0, 2000));

            enemyDistance.SetTooltip("Check enemy in range before buying");
            menu.AddItem(enemyDistance);
            enemyDistance.ValueChanged += (sender, args) => EnemyDistance = args.GetNewValue <Slider>().Value;
            EnemyDistance = enemyDistance.GetValue <Slider>().Value;

            menu.AddItem(
                new MenuItem("goldSpenderItemsToggler", "Items:").SetValue(
                    abilityToggler = new AbilityToggler(ItemsToBuy.ToDictionary(x => x.Key, x => true))));

            menu.AddItem(
                new MenuItem("goldSpenderItemsPriority", "Order:").SetValue(
                    priorityChanger = new PriorityChanger(ItemsToBuy.Select(x => x.Key).ToList())));

            var buyback =
                new MenuItem("goldSpenderBuyback", "Save for buyback after (mins)").SetValue(new Slider(30, 0, 60));

            menu.AddItem(buyback);
            buyback.ValueChanged += (sender, args) => SaveForBuyback = args.GetNewValue <Slider>().Value;
            SaveForBuyback        = buyback.GetValue <Slider>().Value;

            mainMenu.AddSubMenu(menu);
        }
Beispiel #3
0
        private void button3_Click(object sender, EventArgs e)
        {
            var iWithoutDup = Controller.GetItemsWithoutDuplicates();
            var iInCart     = checkedListBox2.Items;

            ItemsToBuy.Clear();
            foreach (var item in iWithoutDup)
            {
                foreach (var i in iInCart)
                {
                    if (item.ItemName.Equals(i.ToString()))
                    {
                        ItemsToBuy.Add(item);
                    }
                }
            }
        }
Beispiel #4
0
    public static bool BuyItem(ItemsToBuy item)
    {
        switch (item)
        {
        case ItemsToBuy.BIG_HAMMER:
            if (GlobalDataHolder.player_gold >= big_hammer_cost)
            {
                GlobalDataHolder.player_gold          -= big_hammer_cost;
                GlobalDataHolder.player.damage        += GlobalDataHolder.big_hammer_damage_bonus;
                GlobalDataHolder.player.skill_achieved = true;
                return(true);
            }
            break;

        case ItemsToBuy.PHONE_CELL:
            if (GlobalDataHolder.player_gold >= phone_cell_cost)
            {
                GlobalDataHolder.player_gold -= phone_cell_cost;
                GlobalDataHolder.phone_cells++;
                return(true);
            }
            break;

        case ItemsToBuy.MEDICINE:
            if (GlobalDataHolder.player_gold >= medicine_cost)
            {
                GlobalDataHolder.player_gold -= medicine_cost;
                GlobalDataHolder.medicine++;
                return(true);
            }
            break;

        case ItemsToBuy.TIME_BOOST:
            if (GlobalDataHolder.player_gold >= time_boost_cost)
            {
                GlobalDataHolder.player_gold -= time_boost_cost;
                GlobalDataHolder.time_left   += GlobalDataHolder.time_boost_amount;
                return(true);
            }
            break;

        default:
            break;
        }
        return(false);
    }
Beispiel #5
0
    public static int GetCostByEnum(ItemsToBuy type)
    {
        switch (type)
        {
        case ItemsToBuy.BIG_HAMMER:
            return(big_hammer_cost);

        case ItemsToBuy.PHONE_CELL:
            return(phone_cell_cost);

        case ItemsToBuy.MEDICINE:
            return(medicine_cost);

        case ItemsToBuy.TIME_BOOST:
            return(time_boost_cost);

        default:
            break;
        }

        return(0);
    }