/// <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); }
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); } } }
/// <summary> /// Remove item from list. /// </summary> /// <param name="item"> Item to remove. </param> public void RemoveItem(ChecklistItem <T> item) { _items.Remove(item); this.RefreshList(); }
/// <summary> /// Add item to list. /// </summary> /// <param name="item"> Item to add. </param> public void AddItem(ChecklistItem <T> item) { _items.Add(item); this.RefreshList(); }