private void CreateModMenuTemplate(IModOWMenu mainMenu) { var remapControlsButton = mainMenu.OptionsMenu.InputTab.GetTitleButton("UIElement-RemapControls"); var buttonTemplate = Object.Instantiate(remapControlsButton.Button); buttonTemplate.gameObject.AddComponent <DontDestroyOnLoad>(); _modButtonTemplate = new ModTitleButton(buttonTemplate, mainMenu); _modButtonTemplate.Button.enabled = false; var submitActionMenu = remapControlsButton.Button.GetComponent <SubmitActionMenu>(); var rebindingMenu = submitActionMenu.GetValue <Menu>("_menuToOpen"); var rebindingCanvas = rebindingMenu.transform.parent; _modMenuTemplate = Object.Instantiate(rebindingCanvas); _modMenuTemplate.gameObject.AddComponent <DontDestroyOnLoad>(); }
public void Initialize(IModOWMenu mainMenu) { if (_modMenuTemplate == null) { CreateModMenuTemplate(mainMenu); } var modsButton = mainMenu.OptionsButton.Duplicate(ModsButtonTitle); var optionsMenu = mainMenu.OptionsMenu; var modsMenu = CreateModsMenu(optionsMenu); modsButton.OnClick += () => modsMenu.Open(); Menu = mainMenu.Menu; InitConfigMenu(_menus.OwmlMenu, optionsMenu); var owmlButton = modsButton.Duplicate(OwmlButtonTitle); owmlButton.OnClick += () => _menus.OwmlMenu.Open(); }