internal static void SingalPatch(On.Menu.OptionsMenu.orig_Singal orig, OptionsMenu menu, MenuObject sender, string message) { if (message == "MOD CONFIG") { mod = true; menu.PlaySound(SoundID.MENU_Switch_Page_In); menu.manager.rainWorld.options.Save(); //this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu); menu.manager.soundLoader.ReleaseAllUnityAudio(); modmenu = new ConfigMenu(menu.manager); menu.manager.currentMainLoop = modmenu; modmenu.vanillaMenu = menu; modmenu.OpenMenu(); } else { orig.Invoke(menu, sender, message); } }
public static void SingalPatch(On.Menu.OptionsMenu.orig_Singal orig, OptionsMenu menu, MenuObject sender, string message) { if (message != null) { if (tuch6A == null) { Dictionary <string, int> dictionary = new Dictionary <string, int>(6) { { "Toggle Fullscreen", 0 }, { "BACK", 1 }, { "CREDITS", 2 }, { "RESET PROGRESS", 3 }, { "INPUT", 4 }, { "MOD CONFIG", 5 } };//5 tuch6A = dictionary; } if (tuch6A.TryGetValue(message, out int num)) { switch (num) { case 0: menu.manager.rainWorld.options.windowed = !menu.manager.rainWorld.options.windowed; resolutionDirty = true; menu.PlaySound(SoundID.MENU_Button_Standard_Button_Pressed); break; case 1: menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.MainMenu); menu.PlaySound(SoundID.MENU_Switch_Page_Out); menu.manager.rainWorld.options.Save(); break; case 2: menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.Credits); menu.PlaySound(SoundID.MENU_Switch_Page_In); menu.manager.rainWorld.options.Save(); break; case 3: menu.manager.rainWorld.progression.WipeAll(); menu.PlaySound(SoundID.MENU_Switch_Page_In); menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu); break; case 4: menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.InputOptions); menu.PlaySound(SoundID.MENU_Switch_Page_In); menu.manager.rainWorld.options.Save(); break; case 5: mod = true; menu.PlaySound(SoundID.MENU_Switch_Page_In); menu.manager.rainWorld.options.Save(); //this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu); menu.manager.soundLoader.ReleaseAllUnityAudio(); modmenu = new ConfigMenu(menu.manager); menu.manager.currentMainLoop = modmenu; modmenu.vanillaMenu = menu; modmenu.OpenMenu(); break; } } } }