public static void SaveGameLevelInfo(SubLevelScript info, SpawnerManagerExtended spawner)
    {
        levelInfo = info;
        //levelInfo.sceneNum = info.sceneNum;
        //levelInfo.minEnemyLvl = info.minEnemyLvl;
        //levelInfo.maxEnemyLvl = info.maxEnemyLvl;
        //levelInfo.minEnemySpawns = info.minEnemySpawns;
        //levelInfo.maxEnemySpawns = info.maxEnemySpawns;
        //levelInfo.numOfWaves = info.numOfWaves;

        levelSpawner = spawner;

        GM.lastLevelPos = GameObject.FindGameObjectWithTag("Player").transform.position;
    }
    void Awake()
    {
        //Debug.Log("Is Awake");
        if (GM != null)
        {
            // Debug.Log("Destory GM");
            GameObject.Destroy(GM.gameObject);
        }

        else
        {
            GM = this;
            if (GM.firstStartedUp)
            {
                //Debug.Log("FirstStartUp");
                p1Copy       = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
                allWorlds    = new List <Worlds>();
                allSubLevels = new List <SubLevelScript> [numOfWorlds];
                for (int i = 0; i < numOfWorlds; i++)
                {
                    allSubLevels[i] = new List <SubLevelScript>();
                }
                levelInfo    = new SubLevelScript();
                levelSpawner = new SpawnerManagerExtended();
                if (!tutorialOn)
                {
                    GM.gameObject.GetComponent <TutorialManager>().enabled = false;
                }
                if (!normalModeOn)
                {
                    startOffMoney = 5000;
                }

                GM.firstStartedUp = false;
                GM.lastLevelPos   = Vector3.zero;
                GM.lastWorldPos   = Vector3.zero;

                SetCamMode(0);
            }
        }


        //GameObject.FindGameObjectWithTag("Player").GetComponent<Player>(). = player;
        DontDestroyOnLoad(this);
    }