Esempio n. 1
0
        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
        }
Esempio n. 2
0
        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;
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
 private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadMode)
 {
     if (scene.name == "XMenu")
     {
         rightSide = MainMenuRightSide.main;
         MultiplayerMenuMods();
     }
 }
Esempio n. 8
0
 private void SceneManager_sceneLoaded(Scene scene, LoadSceneMode loadMode)
 {
     if (scene.name == "XMenu")
     {
         rightSide = MainMenuRightSide.main;
         MultiplayerMenuMods();
         DiscordRPController.Main.InitializeMenu();
     }
 }
Esempio n. 9
0
        private void ShowDiscord()
        {
            MainMenuRightSide rightSide = MainMenuRightSide.main;

            rightSide.HideRightSide();
            try
            {
                Process.Start("https://discordapp.com/invite/hhNBmR6");
            }
            catch { }
        }
Esempio n. 10
0
        //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();
        }
Esempio n. 11
0
        private void ShowMultiplayerMenu()
        {
            MainMenuRightSide rightSide = MainMenuRightSide.main;

            rightSide.OpenGroup("Multiplayer");
        }
Esempio n. 12
0
        public void ShowLoadedModsButtonClick()
        {
            MainMenuRightSide rightSide = MainMenuRightSide.main;

            rightSide.OpenGroup("Mods");
        }