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); }
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 = 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 Awake() { Main = this; //This sucks, but the only way around it is to establish a Subnautica resources cache and reference it everywhere we need it. //Given recent push-back on elaborate designs, I've just crammed it here until we can all get on the same page as far as code-quality standars are concerned. JoinServer.SaveGameMenuPrototype = SavedGamesRef; multiplayerButton = SavedGamesRef.RequireGameObject("Scroll View/Viewport/SavedGameAreaContent/NewGame"); savedGameAreaContent = LoadedMultiplayerRef.RequireTransform("Scroll View/Viewport/SavedGameAreaContent"); if (!File.Exists(SERVER_LIST_PATH)) { AddServer("local server", "127.0.0.1"); } CreateButton("Add server IP", ShowAddServerWindow); LoadSavedServers(); }
public void Setup(GameObject loadedMultiplayer, GameObject savedGames) { main = this; loadedMultiplayerRef = loadedMultiplayer; savedGamesRef = savedGames; //This sucks, but the only way around it is to establish a Subnautica resources cache and reference it everywhere we need it. //Given recent push-back on elaborate designs, I've just crammed it here until we can all get on the same page as far as code-quality standards are concerned. joinServer = new GameObject("NitroxJoinServer").AddComponent <JoinServer>(); joinServer.Setup(savedGamesRef); multiplayerButton = savedGamesRef.RequireGameObject("Scroll View/Viewport/SavedGameAreaContent/NewGame"); savedGameAreaContent = loadedMultiplayerRef.RequireTransform("Scroll View/Viewport/SavedGameAreaContent"); deleteButtonRef = savedGamesRef.GetComponent <MainMenuLoadPanel>().saveInstance.GetComponent <MainMenuLoadButton>().deleteButton; if (!File.Exists(SERVER_LIST_PATH)) { AddServer("local server", "127.0.0.1", "11000"); } CreateButton(Language.main.Get("Nitrox_AddServer"), ShowAddServerWindow); LoadSavedServers(); }