override public void Draw() { foreach (SelectionItem item in items) { SelectionItemTraits itemT = item as SelectionItemTraits; if (itemT == null) { traitItems.Add(new SelectionItemTraits(item)); } else { traitItems.Add(itemT); } } foreach (SelectionItemTraits item in traitItems) { foreach (string category in item.GetTraits().Keys) { bool found = false; foreach (TraitGroup tg in traitData) { if (tg.GetName().Equals(category)) { found = true; tg.AddTraits(item); } } if (!found) { TraitGroup tg = new TraitGroup(category); tg.AddTraits(item); traitData.Add(tg); } } } foreach (SelectionItemTraits item in traitItems) { foreach (TraitGroup tg in traitData) { tg.AddItem(item); } } Update(); }
override public void Draw() { foreach (SelectionItemTraits item in traitItems.Values) { foreach (string category in item.GetTraits().Keys) { bool found = false; foreach (TraitGroup tg in traitData) { if (tg.GetName().Equals(category)) { found = true; tg.AddTraits(item); } } if (!found) { TraitGroup tg = new TraitGroup(category); tg.AddTraits(item); traitData.Add(tg); } } } foreach (SelectionItemTraits item in traitItems.Values) { foreach (TraitGroup tg in traitData) { tg.AddItem(item); } } foreach (var exclusion in initialExclusions) { foreach (string item in exclusion.Value) { ExcludeTrait(exclusion.Key, item); } } Update(); }