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; } }
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; } }