internal static Menu PrepareMenu(ModToggleDelegates toggleDelegates) { return(new Menu("Custom Knight", new Element[] { Blueprints.CreateToggle(toggleDelegates, "Custom Skins", "", "Enabled", "Disabled"), new HorizontalOption( "Swapper", "Apply skin to bosses, enemies & areas", new string[] { "Disabled", "Enabled" }, (setting) => { CustomKnight.toggleSwap(setting == 1); }, () => CustomKnight.swapManager.enabled ? 1 : 0, Id: "SwapperEnabled"), new HorizontalOption( "Select Skin", "The skin will be used for current save and any new saves.", getSkinNameArray(), (setting) => { selectedSkin = setting; }, () => selectedSkin, Id: "SelectSkinOption"), new MenuButton("PreloadButton", "Will Preload objects for modifying events", (_) => TogglePreloads(), Id: "PreloadButton"), new MenuRow( new List <Element> { Blueprints.NavigateToMenu("Skin List", "Opens a list of Skins", () => SkinsList.GetMenu(MenuRef.menuScreen)), new MenuButton("Apply Skin", "Apply The currently selected skin.", (_) => ApplySkin()), }, Id: "ApplyButtonGroup" ) { XDelta = 400f }, new TextPanel("To Add more skins, copy the skins into your Skins folder."), new MenuRow( new List <Element> { new MenuButton("Open Folder", "Open skins folder", (_) => OpenSkins()), new MenuButton("Fix / Reload", "Fix skin structure and reload", (_) => FixSkins()), new MenuButton("Need Help?", "Join the HK Modding Discord", (_) => OpenLink("https://discord.gg/J4SV6NFxAA")), }, Id: "HelpButtonGroup" ) { XDelta = 425f }, new MenuRow( new List <Element> { new MenuButton("Dump", "Dumps the sprites that Swapper supports (Expect lag)", (_) => ToggleDumping(), Id: "DumpButton"), //new MenuButton("Generate Cache","Generates Cache for Everything (Can take hours)",(_)=>DumpAll(),Id:"DumpAllButton"), //new MenuButton("Need Help?","Join the HK Modding Discord",(_)=>OpenLink("https://discord.gg/J4SV6NFxAA")), }, Id: "AdditonalButtonGroup" ) { XDelta = 425f }, })); }
/// <summary> /// Gets all the installed skins (includes mod provided skins). /// </summary> /// <returns>an <c>ISelectableSkin[]</c> that represents all the installed skins</returns> public static ISelectableSkin[] GetInstalledSkins() { return(SkinsList.ToArray()); }