public void Initialize(IModMainMenu mainMenu) { if (_modMenuTemplate == null) { CreateModMenuTemplate(mainMenu); } var modsButton = mainMenu.OptionsButton.Duplicate("MODS"); var optionsMenu = mainMenu.OptionsMenu; var modsMenu = CreateModsMenu(optionsMenu); modsButton.OnClick += () => modsMenu.Open(); Menu = mainMenu.Menu; }
private void CreateModMenuTemplate(IModMainMenu mainMenu) { var remapControlsButton = mainMenu.OptionsMenu.InputTab.GetButton("UIElement-RemapControls"); var buttonTemplate = GameObject.Instantiate(remapControlsButton.Button); buttonTemplate.gameObject.AddComponent <DontDestroyOnLoad>(); _modButtonTemplate = new ModButton(buttonTemplate, mainMenu); _modButtonTemplate.Button.enabled = false; var submitActionMenu = remapControlsButton.Button.GetComponent <SubmitActionMenu>(); var rebindingMenu = submitActionMenu.GetValue <Menu>("_menuToOpen"); var rebindingCanvas = rebindingMenu.transform.parent; _modMenuTemplate = GameObject.Instantiate(rebindingCanvas); _modMenuTemplate.gameObject.AddComponent <DontDestroyOnLoad>(); }