private void MultiplayerMenuMods() { GameObject startButton = GameObjectHelper.RequireGameObject("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay"); GameObject showLoadedMultiplayer = Instantiate(startButton, startButton.transform.parent); showLoadedMultiplayer.name = "ButtonMultiplayer"; Text buttonText = showLoadedMultiplayer.RequireGameObject("Circle/Bar/Text").GetComponent<Text>(); buttonText.text = "Multiplayer"; Destroy(buttonText.GetComponent<TranslationLiveUpdate>()); showLoadedMultiplayer.transform.SetSiblingIndex(3); Button showLoadedMultiplayerButton = showLoadedMultiplayer.GetComponent<Button>(); showLoadedMultiplayerButton.onClick.RemoveAllListeners(); showLoadedMultiplayerButton.onClick.AddListener(ShowMultiplayerMenu); MainMenuRightSide rightSide = MainMenuRightSide.main; GameObject savedGamesRef = FindObject(rightSide.gameObject, "SavedGames"); GameObject LoadedMultiplayer = Instantiate(savedGamesRef, rightSide.transform); LoadedMultiplayer.name = "Multiplayer"; LoadedMultiplayer.RequireTransform("Header").GetComponent<Text>().text = "Multiplayer"; Destroy(LoadedMultiplayer.RequireGameObject("Scroll View/Viewport/SavedGameAreaContent/NewGame")); Destroy(LoadedMultiplayer.GetComponent<MainMenuLoadPanel>()); MainMenuMultiplayerPanel panel = LoadedMultiplayer.AddComponent<MainMenuMultiplayerPanel>(); panel.SavedGamesRef = savedGamesRef; panel.LoadedMultiplayerRef = LoadedMultiplayer; rightSide.groups.Add(LoadedMultiplayer.GetComponent<MainMenuGroup>()); #if RELEASE // Remove singleplayer button because SP is broken when Nitrox is injected. TODO: Allow SP to work and co-exist with Nitrox MP in the future startButton.SetActive(false); #endif }
private void MultiplayerMenuMods() { GameObject startButton = GameObject.Find("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay"); GameObject showLoadedMultiplayer = Instantiate(startButton); Text buttonText = showLoadedMultiplayer.transform.Find("Circle/Bar/Text").gameObject.GetComponent <Text>(); buttonText.text = "Multiplayer"; showLoadedMultiplayer.transform.SetParent(GameObject.Find("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons").transform, false); showLoadedMultiplayer.transform.SetSiblingIndex(3); Button showLoadedMultiplayerButton = showLoadedMultiplayer.GetComponent <Button>(); showLoadedMultiplayerButton.onClick.RemoveAllListeners(); showLoadedMultiplayerButton.onClick.AddListener(ShowMultiplayerMenu); MainMenuRightSide rightSide = MainMenuRightSide.main; GameObject savedGamesRef = FindObject(rightSide.gameObject, "SavedGames"); GameObject LoadedMultiplayer = Instantiate(savedGamesRef); LoadedMultiplayer.name = "Multiplayer"; LoadedMultiplayer.transform.Find("Header").GetComponent <Text>().text = "Multiplayer"; Destroy(LoadedMultiplayer.transform.Find("Scroll View/Viewport/SavedGameAreaContent/NewGame").gameObject); MainMenuMultiplayerPanel panel = LoadedMultiplayer.AddComponent <MainMenuMultiplayerPanel>(); panel.SavedGamesRef = savedGamesRef; panel.LoadedMultiplayerRef = LoadedMultiplayer; Destroy(LoadedMultiplayer.GetComponent <MainMenuLoadPanel>()); LoadedMultiplayer.transform.SetParent(rightSide.transform, false); rightSide.groups.Add(LoadedMultiplayer); }
public static void Postfix(MainMenuRightSide __instance) { Canvas canvas = GameObject.FindObjectOfType <Canvas>().rootCanvas; Material mat = null; foreach (GameObject go in __instance.groups) { foreach (Image img in go.GetComponentsInChildren <Image>()) { img.sprite = EntryPoint.newPanelSprite; mat = img.material; } } GameObject bg = new GameObject("background"); bg.transform.parent = canvas.transform; bg.AddComponent <CanvasRenderer>(); Image image = bg.AddComponent <Image>(); RectTransform rect = bg.GetComponent <RectTransform>(); rect.anchorMax = new Vector2(Screen.width, Screen.height); rect.anchorMin = new Vector2(0, 0); rect.position += new Vector3(0, 0, 1); image.sprite = EntryPoint.backgroundSprite; image.material = mat; }
private void MultiplayerMenuMods() { GameObject startButton = GameObjectHelper.RequireGameObject("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay"); GameObject showLoadedMultiplayer = Instantiate(startButton, startButton.transform.parent); showLoadedMultiplayer.name = "ButtonMultiplayer"; Text buttonText = showLoadedMultiplayer.RequireGameObject("Circle/Bar/Text").GetComponent <Text>(); buttonText.text = "Игровые сервера"; Destroy(buttonText.GetComponent <TranslationLiveUpdate>()); showLoadedMultiplayer.transform.SetSiblingIndex(3); Button showLoadedMultiplayerButton = showLoadedMultiplayer.GetComponent <Button>(); showLoadedMultiplayerButton.onClick.RemoveAllListeners(); showLoadedMultiplayerButton.onClick.AddListener(ShowMultiplayerMenu); MainMenuRightSide rightSide = MainMenuRightSide.main; GameObject savedGamesRef = FindObject(rightSide.gameObject, "SavedGames"); GameObject LoadedMultiplayer = Instantiate(savedGamesRef, rightSide.transform); LoadedMultiplayer.name = "Multiplayer"; LoadedMultiplayer.RequireTransform("Header").GetComponent <Text>().text = "Мульти-пульти плеер by !Frez & Karchetta"; Destroy(LoadedMultiplayer.RequireGameObject("Scroll View/Viewport/SavedGameAreaContent/NewGame")); Destroy(LoadedMultiplayer.GetComponent <MainMenuLoadPanel>()); MainMenuMultiplayerPanel panel = LoadedMultiplayer.AddComponent <MainMenuMultiplayerPanel>(); panel.SavedGamesRef = savedGamesRef; panel.LoadedMultiplayerRef = LoadedMultiplayer; rightSide.groups.Add(LoadedMultiplayer); }
public void Start() { GameObject startButton = GameObject.Find("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay"); GameObject showLoadedMods = Instantiate(startButton); Text buttonText = showLoadedMods.transform.Find("Circle/Bar/Text").gameObject.GetComponent <Text>() as Text; buttonText.text = "Mods"; showLoadedMods.transform.SetParent(GameObject.Find("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons").transform, false); showLoadedMods.transform.SetSiblingIndex(4); Button showLoadedModsButton = showLoadedMods.GetComponent <Button>(); showLoadedModsButton.onClick.RemoveAllListeners(); showLoadedModsButton.onClick.AddListener(ShowLoadedModsButtonClick); MainMenuRightSide rightSide = MainMenuRightSide.main; GameObject savedGamesRef = FindObject(rightSide.gameObject, "SavedGames"); GameObject LoadedMods = Instantiate(savedGamesRef); LoadedMods.name = "Mods"; LoadedMods.transform.Find("Header").GetComponent <Text>().text = "Mods"; Destroy(LoadedMods.transform.Find("SavedGameArea/SavedGameAreaContent/NewGame").gameObject); MainMenuModsPanel panel = LoadedMods.AddComponent <MainMenuModsPanel>(); panel.savedGamesRef = savedGamesRef; panel.loadedModsRef = LoadedMods; Destroy(LoadedMods.GetComponent <MainMenuLoadPanel>()); LoadedMods.transform.SetParent(rightSide.transform, false); rightSide.groups.Add(LoadedMods); }
/// <summary> /// Creates the UI necessary to load up the photon multiplayer mode (Mostly stolen from Nitrox) /// </summary> static void ModMainMenu() { GameObject playButton = GameObject.Find("Menu canvas/Panel/MainMenu/PrimaryOptions/MenuButtons/ButtonPlay"); GameObject mpButton = GameObject.Instantiate(playButton, playButton.transform.parent); mpButton.name = "MultiplayerButton_Object"; Text buttonText = mpButton.transform.Find("Circle/Bar/Text").GetComponent <Text>(); buttonText.text = "Multiplayer"; GameObject.Destroy(buttonText.GetComponent <LanguageUpdater>()); mpButton.transform.SetSiblingIndex(3); Button mpButtonInteract = mpButton.GetComponent <Button>(); mpButtonInteract.onClick.RemoveAllListeners(); mpButtonInteract.onClick.AddListener(() => panel.ShowMPPanel()); MainMenuRightSide rightSide = MainMenuRightSide.main; GameObject savedGamesRef = rightSide.transform.Find("SavedGames").gameObject; GameObject LoadedMultiplayer = GameObject.Instantiate(savedGamesRef, rightSide.transform); LoadedMultiplayer.name = "Multiplayer"; LoadedMultiplayer.transform.Find("Header").GetComponent <Text>().text = "Multiplayer"; UnityEngine.Object.Destroy(LoadedMultiplayer.transform.Find("Scroll View/Viewport/SavedGameAreaContent/NewGame").gameObject); UnityEngine.Object.Destroy(LoadedMultiplayer.GetComponent <MainMenuLoadPanel>()); panel = LoadedMultiplayer.AddComponent <MultiplayerPanel>(); panel.savedGamesPanel = savedGamesRef; panel.multiplayerPanel = LoadedMultiplayer; rightSide.groups.Add(LoadedMultiplayer); }
private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadMode) { if (scene.name == "XMenu") { rightSide = MainMenuRightSide.main; MultiplayerMenuMods(); } }
private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadMode) { if (scene.name == "XMenu") { rightSide = MainMenuRightSide.main; MultiplayerMenuMods(); DiscordRPController.Main.InitializeMenu(); } }
private void ShowDiscord() { MainMenuRightSide rightSide = MainMenuRightSide.main; rightSide.HideRightSide(); try { Process.Start("https://discordapp.com/invite/hhNBmR6"); } catch { } }
//This method merges the cloned color picker element with the existing template for menus that appear in the "right side" region of the main menu. private void InitializeJoinMenu() { colorPickerPanelPrototype = Resources.Load <GameObject>("WorldEntities/Tools/RocketBase").RequireGameObject("Base/BuildTerminal/GUIScreen/CustomizeScreen/Panel/"); rightSideMainMenu = MainMenuRightSide.main; joinServerMenu = CloneSaveGameMenuPrototype(); joinServerMenu.transform.SetParent(rightSideMainMenu.transform, false); rightSideMainMenu.groups.Add(joinServerMenu.GetComponent <MainMenuGroup>()); //Not sure what is up with this menu, but we have to use the RectTransform of the Image component as the parent for our color picker panel. //Most of the UI elements seem to vanish behind this Image otherwise. joinServerBackground = joinServerMenu.GetComponent <Image>().rectTransform; joinServerBackground.anchorMin = new Vector2(0.5f, 0.5f); joinServerBackground.anchorMax = new Vector2(0.5f, 0.5f); joinServerBackground.pivot = new Vector2(0.5f, 0.5f); joinServerBackground.anchoredPosition = new Vector2(joinServerBackground.anchoredPosition.x, 5f); InitializePlayerSettingsPanel(); }
private void ShowMultiplayerMenu() { MainMenuRightSide rightSide = MainMenuRightSide.main; rightSide.OpenGroup("Multiplayer"); }
public void ShowLoadedModsButtonClick() { MainMenuRightSide rightSide = MainMenuRightSide.main; rightSide.OpenGroup("Mods"); }