// TODO: log exception public static void EnterToggleSprite(KIconToggleMenu.ToggleInfo toggleInfo, KIconToggleMenu toggleMenu) { try { // TODO: remove magic string if (toggleInfo.icon == "overlay_materialcolor") { toggleInfo.toggle.fgImage.sprite = FileManager.LoadSpriteFromFile(Common.Paths.MaterialColorOverlayIconPath, 256, 256); } } catch (Exception e) { } }
private void CloseMenus() { productInfoScreen.Close(); while (submenuStack.Count > 0) { KIconToggleMenu kIconToggleMenu = submenuStack.Pop(); kIconToggleMenu.Close(); productInfoScreen.Close(); } selectedCategory = HashedString.Invalid; submenus[ROOT_HASHSTR].ClearSelection(); }
private void OnCategoryClicked(HashedString new_category, int depth) { while (submenuStack.Count > depth) { KIconToggleMenu kIconToggleMenu = submenuStack.Pop(); kIconToggleMenu.ClearSelection(); kIconToggleMenu.Close(); } productInfoScreen.Close(); if (new_category != selectedCategory && new_category.IsValid) { foreach (KIconToggleMenu item in submenuStack) { if (item is BuildMenuCategoriesScreen) { BuildMenuCategoriesScreen buildMenuCategoriesScreen = item as BuildMenuCategoriesScreen; buildMenuCategoriesScreen.SetHasFocus(false); } } selectedCategory = new_category; submenus.TryGetValue(new_category, out BuildMenuCategoriesScreen value); if ((UnityEngine.Object)value != (UnityEngine.Object)null) { value.Show(true); value.SetHasFocus(true); submenuStack.Push(value); } } else { selectedCategory = HashedString.Invalid; } foreach (KIconToggleMenu item2 in submenuStack) { if (item2 is BuildMenuCategoriesScreen) { (item2 as BuildMenuCategoriesScreen).UpdateBuildableStates(true); } } submenus[ROOT_HASHSTR].UpdateBuildableStates(true); }