Exemple #1
0
        private void UpdateList()
        {
            _txtTitle.Text(Utils.Format(TxtTitle, ShowPotions ? TxtPotions : TxtScrolls));
            _txtTitle.Measure();
            _txtTitle.X = PixelScene.Align(PixelScene.uiCamera, (WIDTH - _txtTitle.Width) / 2);

            _items.Clear();

            var content = _list.Content();

            content.Clear();
            _list.ScrollTo(0, 0);

            float pos = 0;

            HashSet <Type> known;

            if (ShowPotions)
            {
                known = Potion.GetKnown;
            }
            else
            {
                known = Scroll.GetKnown;
            }

            foreach (var itemClass in known)
            {
                var item = new ListItem(itemClass);
                item.SetRect(0, pos, WIDTH, ItemHeight);
                content.Add(item);
                _items.Add(item);

                pos += item.Height;
            }

            HashSet <Type> unknown;

            if (ShowPotions)
            {
                unknown = Potion.GetUnknown;
            }
            else
            {
                unknown = Scroll.GetUnknown;
            }

            foreach (var itemClass in unknown)
            {
                var item = new ListItem(itemClass);
                item.SetRect(0, pos, WIDTH, ItemHeight);
                content.Add(item);
                _items.Add(item);

                pos += item.Height;
            }

            content.SetSize(WIDTH, pos);
        }