public void DrawModEntry(ref Vector2 cur, int nestLevel, Rect view, RootCategory mc) { State curState = mc.Expanded ? State.Expanded : State.Closed; if (DrawEntry(ref cur, nestLevel, view, mc.rootName, curState)) { mc.Expanded = !mc.Expanded; } }
public void DoJumpTo(ItemDetail helpDef) { ResetFilter(); _jump = true; SelectedItemDef = helpDef; //DetailCategory cat = DefDatabase<DetailCategory>.AllDefsListForReading.First(hc => hc.ItemDetailDefs.Contains(helpDef)); DetailCategory cat = DefExplorerWindow.detailCategories.First(hc => hc.Value.ItemDetailDefs.Contains(helpDef)).Value; cat.Expanded = true; RootCategory mod = CachedHelpCategories.First(mc => mc.DetailCategories.Contains(cat)); mod.Expanded = true; }
public static void Recache() { CachedHelpCategories = new List <RootCategory>(); foreach (DetailCategory detailCategory in DefExplorerWindow.detailCategories.Values) { // parent modcategory does not exist, create it. if (CachedHelpCategories.All(t => t.rootName != detailCategory.rootCategoryName)) { var mCat = new RootCategory(detailCategory.rootCategoryName); mCat.AddCategory(detailCategory); CachedHelpCategories.Add(mCat); } // add to existing modcategory else { var mCat = CachedHelpCategories.Find(t => t.rootName == detailCategory.rootCategoryName); mCat.AddCategory(detailCategory); } } }