Exemple #1
0
        public override void GameResized()
        {
            var sh = UIScreen.Current.ScreenHeight;
            var sw = UIScreen.Current.ScreenWidth;

            FamilyList.Size = new Vector2(810, sh);
            FamilyList.X    = (sw - 810) / 2;
            FamilyList.Reset();
            Title.Size            = new Vector2(sw, 60);
            DeleteButton.Position = new Vector2(sw - 140, sh - 260);
            NewButton.Position    = new Vector2(sw - 140, sh - 380);
            base.GameResized();
        }
        public void InitSubcategory(UICatalogSubcat cat)
        {
            var index = cat.MaskBit;

            if (!ChoosingSub)
            {
                return;
            }
            ChoosingSub = false;
            ((UIMainPanel)Parent).Switcher.Close();
            ((UIMainPanel)Parent).Switcher.MainButton.ReplaceImage(Content.Get().CustomUI.Get("cat_" + cat.IconName + ".png").Get(GameFacade.GraphicsDevice));

            foreach (var btn in SelButtons)
            {
                GameFacade.Screens.Tween.To(btn, 0.5f, new Dictionary <string, float>()
                {
                    { "Opacity", 0f }
                }, TweenQuad.EaseOut);
            }
            foreach (var label in SelLabels)
            {
                GameFacade.Screens.Tween.To(label, 0.5f, new Dictionary <string, float>()
                {
                    { "Opacity", 0f }
                }, TweenQuad.EaseOut);
            }

            CatContainer.Opacity = 0f;
            GameFacade.Screens.Tween.To(CatContainer, 0.5f, new Dictionary <string, float>()
            {
                { "Opacity", 1f }
            }, TweenQuad.EaseOut);

            if (Mode == UICatalogMode.Build)
            {
                InitCategory((sbyte)index, true);
                FilterCategory = FullCategory;
            }
            else if (index == 8)
            {
                FilterCategory = FullCategory.Where(x => (GetSubsort(x.Item)) > 0);
            }
            else
            {
                var mask = 1 << index;
                if (Mode == UICatalogMode.Normal && index == 7)
                {
                    mask |= 16;
                }
                FilterCategory = FullCategory.Where(x => (GetSubsort(x.Item) & mask) > 0);
            }
            CatContainer.Reset();
        }
Exemple #3
0
        public void UpdateInventoryView()
        {
            var sel = Game.SelectedAvatar;

            if (sel == null)
            {
                return;
            }
            var neighbourhood = Content.Get().Neighborhood;
            var neighbour     = sel.GetPersonData(VMPersonDataVariable.NeighborId);
            var inventory     = neighbourhood.GetInventoryByNID(neighbour)?.Where(x => (CatSort == -1 && !HiddenCats.Contains(x.Type)) || CatSort == x.Type)?.ToList() ?? new List <InventoryItem>();

            bool difference = false;

            if (inventory.Count == Items.Count)
            {
                for (int i = 0; i < inventory.Count; i++)
                {
                    var i1 = inventory[i]; var i2 = Items[i];
                    if (i1.Count != i2.Count || i1.GUID != i2.GUID || i1.Type != i2.Type)
                    {
                        difference = true; break;
                    }
                }
            }
            else
            {
                difference = true;
            }

            if (difference)
            {
                Items.Clear();
                foreach (var item in inventory)
                {
                    Items.Add(item.Clone());
                }
                ScrollView.Reset();
            }
        }
Exemple #4
0
        public void UpdateRelView()
        {
            var sel           = Game.SelectedAvatar;
            var neighbourhood = Content.Get().Neighborhood;

            if (sel == null)
            {
                return;
            }
            var neighbour = sel.GetPersonData(VMPersonDataVariable.NeighborId);

            var n   = neighbourhood.GetNeighborByID(neighbour);
            var rel = n.Relationships;

            var rItems = rel.Select(x => new Tuple <int, int>(neighbour, x.Key)).ToList();

            bool difference = false;

            if (rItems.Count == Items.Count)
            {
                for (int i = 0; i < rItems.Count; i++)
                {
                    if (!rItems[i].Equals(Items[i]))
                    {
                        difference = true; break;
                    }
                }
            }
            else
            {
                difference = true;
            }

            if (difference)
            {
                Items = rItems;
                ScrollView.Reset();
            }
        }