Exemplo n.º 1
0
        /// <inheritdoc/>
        public override void PreOpen()
        {
            base.PreOpen();
            _costumes = LoadoutManager.Loadouts.OfType <AwesomeInventoryCostume>().ToList();
            List <ChecklistItem <AwesomeInventoryCostume> > items = new List <ChecklistItem <AwesomeInventoryCostume> >();

            foreach (AwesomeInventoryCostume costume in _costumes)
            {
                ChecklistItem <AwesomeInventoryCostume> item =
                    new ChecklistItem <AwesomeInventoryCostume>(
                        costume.label
                        , costume
                        , GenUI.ListSpacing
                        , _columnWidth
                        , false)
                {
                    Draw = (pos, cos) =>
                    {
                        Rect labelRect = new Rect(pos, new Vector2(_columnWidth - GenUI.ListSpacing * 2, GenUI.ListSpacing));
                        Rect checkRect = new Rect(labelRect.xMax, pos.y, GenUI.ListSpacing * 2, GenUI.ListSpacing);

                        Widgets.Label(labelRect, costume.label);
                        if (Widgets.ButtonImageWithBG(checkRect, TexResource.TriangleRight, new Vector2(GenUI.SmallIconSize, GenUI.SmallIconSize)))
                        {
                            _selectedCostume = costume;
                            _costumeItemList = new Checklist <ThingGroupSelector>(
                                costume.Select(
                                    g => new ChecklistItem <ThingGroupSelector>(g.LabelCapNoCount, g, GenUI.ListSpacing, _columnWidth, false))
                                .ToList()
                                , false
                                , true
                                , true);
                        }

                        return(labelRect);
                    },
                };
                items.Add(item);
            }

            _costumeList = new Checklist <AwesomeInventoryCostume>(items, true, true);
        }
Exemplo n.º 2
0
 private void ReorderItems(int from, int to)
 {
     if (from == to)
     {
         return;
     }
     else
     {
         ChecklistItem <T> item = _items[from];
         _items.Insert(to, item);
         if (to < from)
         {
             _items.RemoveAt(++from);
         }
         else
         {
             _items.RemoveAt(from);
         }
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Remove item from list.
 /// </summary>
 /// <param name="item"> Item to remove. </param>
 public void RemoveItem(ChecklistItem <T> item)
 {
     _items.Remove(item);
     this.RefreshList();
 }
Exemplo n.º 4
0
 /// <summary>
 /// Add item to list.
 /// </summary>
 /// <param name="item"> Item to add. </param>
 public void AddItem(ChecklistItem <T> item)
 {
     _items.Add(item);
     this.RefreshList();
 }