private void UpdateCatalog() { Catalog.SetCategory(CurrentInventory); int total = Catalog.TotalPages(); InventoryCatalogSecureTradingSlider.MaxValue = total - 1; InventoryCatalogSecureTradingSlider.Value = 0; InventoryCatalogSecureTradingNextPageButton.Disabled = (total == 1); InventoryCatalogSecureTradingPreviousPageButton.Disabled = true; }
public void SetPage(int page) { bool noPrev = (page == 0); PreviousPageButton.Disabled = noPrev; bool noNext = (page + 1 == Catalog.TotalPages()); NextPageButton.Disabled = noNext; Catalog.SetPage(page); if (OldSelection != -1) { Catalog.SetActive(OldSelection, true); } SubtoolsSlider.Value = page; }
public void NextPage(UIElement button) { int page = Catalog.GetPage(); int totalPages = Catalog.TotalPages(); if (page + 1 == totalPages) { return; } SetPage(page + 1); }
public void SetPage(int page) { bool noPrev = (page == 0); ProductCatalogPreviousPageButton.Disabled = noPrev; InventoryCatalogRoommatePreviousPageButton.Disabled = noPrev; InventoryCatalogVisitorPreviousPageButton.Disabled = noPrev; bool noNext = (page + 1 == Catalog.TotalPages()); ProductCatalogNextPageButton.Disabled = noNext; InventoryCatalogRoommateNextPageButton.Disabled = noNext; InventoryCatalogVisitorNextPageButton.Disabled = noNext; Catalog.SetPage(page); if (OldSelection != -1) { Catalog.SetActive(OldSelection, true); } ProductCatalogSlider.Value = page; InventoryCatalogRoommateSlider.Value = page; InventoryCatalogVisitorSlider.Value = page; }
public override void Update(UpdateState state) { var objCount = LotController.vm.Context.ObjectQueries.NumUserObjects; if (LastObjCount != objCount || LastDonator != LotController.ObjectHolder.DonateMode) { if (LastDonator != LotController.ObjectHolder.DonateMode) { if (CurrentInventory != null && CurrentCategory == CurrentInventory && LotController.ObjectHolder.DonateMode) { UIAlert.Alert(GameFacade.Strings.GetString("f114", "2"), GameFacade.Strings.GetString("f114", "3"), true); } Catalog.SetPage(Catalog.Page); //update prices } if (LotController.ObjectHolder.DonateMode) { ObjLimitLabel.Caption = GameFacade.Strings.GetString("f114", "4"); ObjLimitLabel.CaptionStyle.Color = new Color(255, 201, 38); } else { var limit = LotController.vm.TSOState.ObjectLimit; ObjLimitLabel.Caption = objCount + "/" + limit + " Objects"; var lerp = objCount / (float)limit; if (lerp < 0.5) { ObjLimitLabel.CaptionStyle.Color = Color.White; } if (lerp < 0.75) { ObjLimitLabel.CaptionStyle.Color = Color.Lerp(Color.White, new Color(255, 201, 38), lerp * 4 - 2); } else { ObjLimitLabel.CaptionStyle.Color = Color.Lerp(new Color(255, 201, 38), Color.Red, lerp * 4 - 3); } } LastObjCount = objCount; LastDonator = LotController.ObjectHolder.DonateMode; } if (LotController.ActiveEntity != null) { Catalog.Budget = (int)LotController.ActiveEntity.TSOState.Budget.Value; bool refreshInventory = false; var inventory = LotController.vm.MyInventory; if (LastInventory != null) { if (LastInventory.Count != inventory.Count) { refreshInventory = true; } else { for (int i = 0; i < inventory.Count; i++) { if (LastInventory[i] != inventory[i]) { refreshInventory = true; break; } } } } else { refreshInventory = true; } if (refreshInventory) { var lastCatPage = Catalog.GetPage(); LastInventory = new List <VMInventoryItem>(inventory); if (CurrentInventory == null) { CurrentInventory = new List <UICatalogElement>(); } CurrentInventory.Clear(); foreach (var item in inventory) { var catItem = Content.Content.Get().WorldCatalog.GetItemByGUID(item.GUID); if (catItem == null) { catItem = GenCatItem(item.GUID); } var obj = catItem.Value; //note that catalog items are structs, so we can modify their properties freely without affecting the permanant store. //todo: what if this is null? it shouldn't be, but still obj.Name = (item.Name == "")?obj.Name:item.Name; obj.Price = 0; //todo: make icon for correct graphic. CurrentInventory.Add(new UICatalogElement { Item = obj }); } if (Mode == 2) { ChangeCategory(InventoryButton); //refresh display SetPage(Math.Min(Catalog.TotalPages() - 1, lastCatPage)); } } } base.Update(state); }
public override void Update(UpdateState state) { if (LotController.ActiveEntity != null) { Catalog.Budget = (int)LotController.ActiveEntity.TSOState.Budget.Value; bool refreshInventory = false; var inventory = LotController.vm.MyInventory; if (LastInventory != null) { if (LastInventory.Count != inventory.Count) { refreshInventory = true; } else { for (int i = 0; i < inventory.Count; i++) { if (LastInventory[i] != inventory[i]) { refreshInventory = true; break; } } } } else { refreshInventory = true; } if (refreshInventory) { var lastCatPage = Catalog.GetPage(); LastInventory = new List <VMInventoryItem>(inventory); if (CurrentInventory == null) { CurrentInventory = new List <UICatalogElement>(); } CurrentInventory.Clear(); foreach (var item in inventory) { var catItem = Content.Content.Get().WorldCatalog.GetItemByGUID(item.GUID); if (catItem == null) { catItem = GenCatItem(item.GUID); } var obj = catItem; //note that catalog items are structs, so we can modify their properties freely without affecting the permanant store. //todo: what if this is null? it shouldn't be, but still obj.Name = (item.Name == "") ? obj.Name : item.Name; obj.Price = 0; //todo: make icon for correct graphic. CurrentInventory.Add(new UICatalogElement { Item = obj }); } if (Mode == 2) { ChangeCategory(InventoryButton); //refresh display SetPage(Math.Min(Catalog.TotalPages() - 1, lastCatPage)); } } } base.Update(state); }