Ejemplo n.º 1
0
        private void CancelItem(Player player, uint itemId, int time)
        {
            if (itemId < 0x41000000 || itemId > 0x7a000000)
            {
                return;
            }
            string stringId = ParserUtility.StringFromUInt(itemId);

            switch (ParserUtility.ItemTypeFromId(stringId))
            {
            case ItemType.None:
                break;

            case ItemType.Hero:
                player.Heroes.Cancel(stringId, time);
                break;

            case ItemType.Building:
                player.Buildings.Cancel(new OrderItem(stringId, time, true));;
                break;

            case ItemType.Research:
                player.Researches.Cancel(new OrderItem(stringId, time, true));;
                break;

            case ItemType.Unit:
                player.Units.Cancel(new OrderItem(stringId, time, true));;
                break;

            case ItemType.Upgrade:
                player.Upgrades.Cancel(new OrderItem(stringId, time, true));;
                break;
            }
        }
Ejemplo n.º 2
0
        private void OrderItem(Player player, uint itemId, int time)
        {
            if (itemId < 0x41000000 || itemId > 0x7a000000)
            {
                return;
            }
            string stringId = ParserUtility.StringFromUInt(itemId);

            switch (ParserUtility.ItemTypeFromId(stringId))
            {
            case ItemType.None:
                if ((itemId >> 16) == 0x00000233)
                {
                    player.Units.Order(new OrderItem("ubsp", time));
                }
                break;

            case ItemType.Hero:
                player.Heroes.Order(stringId, time);
                break;

            case ItemType.HeroAbility:
                player.Heroes.Train(stringId, time);
                break;

            case ItemType.Building:
                player.Buildings.Order(new OrderItem(stringId, time));
                break;

            case ItemType.Item:
                player.Items.Order(new OrderItem(stringId, time));
                if (stringId == "tret")
                {
                    player.Heroes.PossibleRetrained(time);
                }
                break;

            case ItemType.Unit:
                player.Units.Order(new OrderItem(stringId, time));
                break;

            case ItemType.Upgrade:
                player.Upgrades.Order(new OrderItem(stringId, time));;
                break;

            case ItemType.Research:
                player.Researches.Order(new OrderItem(stringId, time));;
                break;
            }
        }