private void SetCostItems(Type potion) { if (cost.Count > 0) { foreach (MenuItem item in costItems) { nonSelectableItems.Remove(item); } costItems.Clear(); int num = 0; if (potion != null) { for (int i = 0; i < cost[potion].red; i++) { MenuItem item = new MenuItem(ingredient, new Vector2(4 + num, 14), 1, 1, null); item.ChangeColor(Color.Red); costItems.Add(item); num++; } for (int i = 0; i < cost[potion].green; i++) { MenuItem item = new MenuItem(ingredient, new Vector2(4 + num, 14), 1, 1, null); item.ChangeColor(Color.Green); costItems.Add(item); num++; } for (int i = 0; i < cost[potion].blue; i++) { MenuItem item = new MenuItem(ingredient, new Vector2(4 + num, 14), 1, 1, null); item.ChangeColor(Color.Blue); costItems.Add(item); num++; } } foreach (MenuItem item in costItems) { nonSelectableItems.Add(item); } } }
public void InitMenuItems() { player = World.Player; menuItems.Clear(); nonSelectableItems.Clear(); //if (!initialized) { // pos is proportional to screen size (IE, SCREENWIDTH / 20 * pos) AddFlavorItem("Potion Menu", new Vector2(1, 3)); if (player.Item != null) { AddMenuItem("Discard current item for ingredient", new Vector2(2, 4), 0, delegate() { CreateIndgredient(); }); AddFlavorItem(player.Item.Texture, new Vector2(15, 4), 1, 1); AddFlavorItem("=>", new Vector2(16, 4)); AddFlavorItem(ingredient, new Vector2(17, 4), 1, 1); nonSelectableItems[3].ChangeColor(GetColor()); } AddMenuItem("Invincibility Potion", new Vector2(3, 5), 0, delegate() { BuyPotion(new InvincibilityPotion()); }); AddMenuItem("Confusion Potion", new Vector2(3, 6), 0, delegate() { BuyPotion(new ConfusionPotion()); }); AddMenuItem("Warp Potion", new Vector2(3, 7), 0, delegate() { BuyPotion(new WarpPotion()); }); AddMenuItem("Midas Potion", new Vector2(3, 8), 0, delegate() { BuyPotion(new MidasPotion()); }); AddMenuItem("Vampire Potion", new Vector2(3, 9), 0, delegate() { BuyPotion(new VampirePotion()); }); AddMenuItem("Curse Potion", new Vector2(3, 10), 0, delegate() { BuyPotion(new CursePotion()); }); AddFlavorItem("______________________________________________", new Vector2(0, 13)); AddFlavorItem("Cost: ", new Vector2(2, 14)); AddFlavorItem("", new Vector2(2, 15)); MenuItem list1 = new MenuItem(ingredient, new Vector2(13, 7), 2, 2, null); MenuItem list2 = new MenuItem(ingredient, new Vector2(13, 9), 2, 2, null); MenuItem list3 = new MenuItem(ingredient, new Vector2(13, 11), 2, 2, null); list1.ChangeColor(Color.Red); list2.ChangeColor(Color.Green); list3.ChangeColor(Color.Blue); nonSelectableItems.Add(list1); nonSelectableItems.Add(list2); nonSelectableItems.Add(list3); MenuItem item1 = new MenuItem("X " + ingredients.red, new Vector2(15, 7.8f), null); MenuItem item2 = new MenuItem("X " + ingredients.green, new Vector2(15, 9.8f), null); MenuItem item3 = new MenuItem("X " + ingredients.blue, new Vector2(15, 11.8f), null); ingredientRed = item1; ingredientBlue = item2; ingredientGreen = item3; nonSelectableItems.Add(item1); nonSelectableItems.Add(item2); nonSelectableItems.Add(item3); index1 = player.Item != null ? 1 : 0; index2 = player.Item != null ? 3 : 0; menuItems[0][0].Selected = true; yIndex = 0; //initialized = true; } }