Exemplo n.º 1
0
        private void UpdateCatalog()
        {
            Catalog.SetCategory(CurrentInventory);

            int total = Catalog.TotalPages();

            InventoryCatalogSecureTradingSlider.MaxValue = total - 1;
            InventoryCatalogSecureTradingSlider.Value    = 0;

            InventoryCatalogSecureTradingNextPageButton.Disabled     = (total == 1);
            InventoryCatalogSecureTradingPreviousPageButton.Disabled = true;
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }