Skip to content
Snippets Groups Projects
Pause_Menu_mobile.cs 3.39 KiB
Newer Older
  • Learn to ignore specific revisions
  • using UnityEngine;
    //using static StreamingAssetLoader;
    //using static CheckServer;
    using UnityEngine.EventSystems;
    
    MaZiFAU's avatar
    MaZiFAU committed
    using UnityEngine.SceneManagement;
    
    //using static SceneSwitcher;
    
    
    
    
    /*
      https://gamedevbeginner.com/the-right-way-to-pause-the-game-in-unity/#:~:text=The%20most%20convenient%20method%20for%20pausing%20the%20game,will%20return%20the%20game%20to%20its%20normal%20speed.
    */
    
    
    Stefan Richter's avatar
    Stefan Richter committed
    public class Pause_Menu_mobile : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
    
    {
    
        //public GameObject myself_GObj;
        public int myUI_ID;
        public int setValueTo;
        public bool ResetLevel;
        public bool checkTimeToStop;
    
    MaZiFAU's avatar
    MaZiFAU committed
        public bool ResetUI = false;
        public int switchToScene_ID_ = 0;
    
            //print("here Adress: " +CommunicationEvents.ServerAdress);
    
    MaZiFAU's avatar
    MaZiFAU committed
            if (checkTimeToStop == true)
            {
    
                setPauseToken();
                //disableGameUI();
            }
        }
    
        public void OnPointerDown(PointerEventData data)
        {
    
        }
    
        public void OnPointerUp(PointerEventData data)
        {
    
            if (ResetUI)
            {
                ContinueGame_BttnPressed();
            }
            if (CheckArray())
            {
                UIconfig.CanvasOnOff_Array[myUI_ID] = setValueTo;
            }
            UIconfig.GamePaused = false;
            ResumeGame();
    
    
    MaZiFAU's avatar
    MaZiFAU committed
    
    
    MaZiFAU's avatar
    MaZiFAU committed
    
    
        private void ContinueGame_BttnPressed()
        {
    
    MaZiFAU's avatar
    MaZiFAU committed
            for (int i = 0; i < UIconfig.CanvasOn_afterPM.Length; i++)
    
            {
                int a = UIconfig.CanvasOn_afterPM[i];
    
    MaZiFAU's avatar
    MaZiFAU committed
                if (a >= 0 && a < UIconfig.CanvasOnOff_Array.Length)
    
            }
    
    
        }
    
        private bool CheckArray()
        {
            if (myUI_ID >= 0 && myUI_ID < UIconfig.CanvasOnOff_Array.Length)
            {
                return true;
            }
            return false;
        }
    
        private void setPauseToken()
        {
            if (CheckArray())
            {
    
    MaZiFAU's avatar
    MaZiFAU committed
                if (UIconfig.CanvasOnOff_Array[myUI_ID] == 1)
    
    MaZiFAU's avatar
    MaZiFAU committed
    
    
                    if (CommunicationEvents.CursorVisDefault)
                    {
                        Cursor.visible = true;
                    }
                    else
                    {
    
                        Cursor.visible = false;
    
                    //updateMouseCursor.setMouse();
    
                    UIconfig.GamePaused = true;
                    PauseGame();
    
    
                }
            }
        }
    
        private void PauseGame()
        {
    
            Time.timeScale = 0;
            //Time.timeScale = UIconfig.Game_TimeScale;
    
            Time.timeScale = UIconfig.Game_TimeScale;
    
    
            if (!CommunicationEvents.CursorVisLastUsedIngame) { Cursor.visible = false; }
    
    
                //Restart resClass = new Restart();
    
                //Restart_script resClass = new Restart_script();
                //resClass.LevelReset();
    
                Restart.LevelReset();
    
    
    
    MaZiFAU's avatar
    MaZiFAU committed
    
    
                //SceneSwitcher ScSw = new SceneSwitcher();
                //ScSw.NowsSwitchToScene(switchToScene_ID_);
    
    Stefan Richter's avatar
    Stefan Richter committed
                //SceneManager.LoadScene("MainMenu");
    
    
                switch (switchToScene_ID_)
                {
                    case 4:
    
    Stefan Richter's avatar
    Stefan Richter committed
                        SceneManager.LoadScene("MainMenu");
    
                        break;
    
                    default:
    
    Stefan Richter's avatar
    Stefan Richter committed
                        SceneManager.LoadScene("LaunchMenu");