private void PopulateMenuItems(List <InventoryMenuItem> listToPopulate, List <InventoryItem> sourceList, float Y) { for (int i = 0; i < sourceList.Count; i++) { InventoryMenuItem newItem = new InventoryMenuItem(sourceList[i].name); newItem.inventoryItem = sourceList[i]; listToPopulate.Add(newItem); } //position the menu elements. Vector2 startPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2, Y); startPos.X -= (listToPopulate.Count / 2) * ITEMWIDTH /*width of each item*/; for (int i = 0; i < listToPopulate.Count; i++) { listToPopulate[i].position = startPos; listToPopulate[i].targetPosition = startPos; startPos.X += ITEMWIDTH; } }
public InventoryPopup(SysMenuManager owner, bool includeClearSlot) : base(owner) { transitionOnTime = 200; transitionOffTime = 200; menuFont = FrameworkCore.Serif; SetOwner(owner); darkenScreen = true; hideChildren = false; InventoryMenuItem menuItem = null; if (includeClearSlot) { menuItem = new InventoryMenuItem(Resource.MenuSkirmishSlotClear); menuItem.Selected += OnSelectClear; menuItems.Add(menuItem); } //populate the menu items. foreach (InventoryItem item in FrameworkCore.players[0].inventoryItems) { if (!isValidItem(item)) { continue; } menuItem = new InventoryMenuItem(item.name); menuItem.Selected += OnSelectItem; menuItem.inventoryItem = item; menuItems.Add(menuItem); } if (FrameworkCore.players[0].inventoryItems.Count > 0) { selectedIndex = 0; } if (menuItems.Count <= 0) { noItemsFound = true; menuItem = new InventoryMenuItem(""); menuItem.Selected += OnSelectDeactivate; menuItems.Add(menuItem); } else { menuItem = new InventoryMenuItem(Resource.MenuCancel); menuItem.Selected += OnSelectDeactivate; menuItems.Add(menuItem); } UpdateTargetPositions(); foreach (InventoryMenuItem item in menuItems) { item.position = item.targetPosition; } }