private void UpdateInventory(int selected = 0) { var inventoryList = new List <IMenuItem>(); if (!PlayerData.Inventory.Any()) { inventoryList.Add(new MenuButton("Empty")); } for (int i = 0; i < PlayerData.Inventory.Count; i++) { var item = PlayerData.Inventory[i]; inventoryList.Add(new MenuButton(item.Quantity + "x\t" + item.Name, item.Description)); } inventoryList.Add(new MenuButton("Back")); foreach (var i in inventoryList) { i.Parent = InventoryMenu; } if (InventoryMenu == null) { InventoryMenu = new RPGListMenu("Inventory", new GTASprite("CommonMenu", "interaction_bgd", Color.ForestGreen), UseInventoryItem, inventoryList.ToArray()); } else { InventoryMenu.Caption = "GTA$" + PlayerData.Money.ToString("N0"); InventoryMenu.Items.Clear(); InventoryMenu.Items.AddRange(inventoryList); InventoryMenu.Initialize(); } RPGUI.FormatMenuWithFooter(InventoryMenu); InventoryMenu.HeaderHeight = 25; InventoryMenu.Caption = "GTA$" + PlayerData.Money.ToString("N0"); if (InventoryMenu != null && IsOpen(InventoryMenu)) { InventoryMenu.SelectedIndex = selected; } }
public void UpdateQuestLog(int selected = 0) { var questList = new List <IMenuItem>(); var storyQuests = RPG.PlayerData.Quests.Where(q => !q.IsContract && !q.IsRepeatable).ToList(); var completion = (float)storyQuests.Count(s => s.Done) / storyQuests.Count; var quests = PlayerData.Quests.Where(s => s.InProgress).Concat(PlayerData.Quests.Where(c => !c.InProgress)).Where(c => !c.IsContract || c.InProgress).ToList(); for (int i = 0; i < quests.Count; i++) { var item = quests[i]; questList.Add(new MenuButton((item.InProgress ? "[In Progress] " : (item.Done ? "[Done] " : "[Not Started] ")) + item.Name, item.Description)); } questList.Add(new MenuButton("Back")); foreach (var i in questList) { i.Parent = QuestLogMenu; } if (QuestLogMenu == null) { QuestLogMenu = new RPGListMenu("Quest Log", new GTASprite("CommonMenu", "interaction_bgd", Color.DarkOrange), UseQuestLogEntry, questList.ToArray()); } else { QuestLogMenu.Caption = "Story Progress: " + completion.ToString("P0"); QuestLogMenu.Items.Clear(); QuestLogMenu.Items.AddRange(questList); QuestLogMenu.Initialize(); } QuestLogMenu.Caption = "Story Progress: " + completion.ToString("P0"); RPGUI.FormatMenuWithFooter(QuestLogMenu); QuestLogMenu.FooterHeight = 40; QuestLogMenu.HeaderHeight = 25; if (QuestLogMenu != null && IsOpen(QuestLogMenu)) { QuestLogMenu.SelectedIndex = selected; } }
public void UpdateCrafting(int selected = 0) { var craftingList = new List <IMenuItem>(); var craftableItems = ItemRepository.Items.Where(i => i.CanCraft).ToList(); for (int i = 0; i < craftableItems.Count; i++) { var item = craftableItems[i]; craftingList.Add(new MenuButton(item.Quantity + "x\t" + item.Name, item.GetCraftString())); } craftingList.Add(new MenuButton("Back")); foreach (var i in craftingList) { i.Parent = CraftingMenu; } if (CraftingMenu == null) { CraftingMenu = new RPGListMenu("Crafting", new GTASprite("CommonMenu", "interaction_bgd", Color.ForestGreen), CraftItem, craftingList.ToArray()); } else { CraftingMenu.Items.Clear(); CraftingMenu.Items.AddRange(craftingList); CraftingMenu.Initialize(); } RPGUI.FormatMenuWithFooter(CraftingMenu); CraftingMenu.FooterCentered = true; CraftingMenu.FooterHeight = 75; if (CraftingMenu != null && IsOpen(CraftingMenu)) { CraftingMenu.SelectedIndex = selected; } }
public void UpdateShop(int selected = 0) { var shopList = new List <IMenuItem>(); var purchasableItems = ItemRepository.Items.Where(i => i.CanBuy).ToList(); for (int i = 0; i < purchasableItems.Count; i++) { var item = purchasableItems[i]; shopList.Add(new MenuButton(item.Quantity + "x\t" + item.Name, "[ GTA$" + item.Cost + " ]" + item.Description)); } shopList.Add(new MenuButton("Back")); foreach (var i in shopList) { i.Parent = ShopMenu; } if (ShopMenu == null) { ShopMenu = new RPGListMenu("Shop", new GTASprite("CommonMenu", "interaction_bgd", Color.ForestGreen), BuyShopItem, shopList.ToArray()); } else { ShopMenu.Caption = "GTA$" + PlayerData.Money.ToString("N0"); ShopMenu.Items.Clear(); ShopMenu.Items.AddRange(shopList); ShopMenu.Initialize(); } ShopMenu.Caption = "GTA$" + PlayerData.Money.ToString("N0"); RPGUI.FormatMenuWithFooter(ShopMenu); ShopMenu.HeaderHeight = 25; if (ShopMenu != null && IsOpen(ShopMenu)) { ShopMenu.SelectedIndex = selected; } }
private void UpdateSkillBarMenu() { var items = new IMenuItem[6]; var skillSlots = RPG.PlayerData.SkillSlots; var entries = RPG.SkillHandler.GetEntriesFormatted(); for (int i = 0; i < 5; i++) { var slot = skillSlots[i]; if (!slot.IsEmpty) { var indexOfCur = Array.IndexOf(entries, slot.Name); items[i] = new MenuEnumScroller(slot.GetMenuKeyName() + ":", "Skill for " + slot.Key, RPG.SkillHandler.GetEntriesFormatted(), indexOfCur).WithEnumActions(ChangeAction, ClearAction); } else { items[i] = new MenuEnumScroller(slot.GetMenuKeyName() + ":", "Skill for " + slot.Key, RPG.SkillHandler.GetEntriesFormatted()).WithEnumActions(ChangeAction, ClearAction); } } items[5] = new MenuButton("Back").WithActivate(View.PopMenu); SkillbarMenu = new RPGMenu("Set skills", new GTASprite("Commonmenu", "interaction_bgd", Color.LightBlue), items); RPGUI.FormatMenuWithFooter(SkillbarMenu); }