void Start() { endBlocks = new List <GameObject>(); mouseCursor = (GameObject)Instantiate(Resources.Load("Prefabs/DrawingIcon")); DontDestroyOnLoad(mouseCursor); currentLevel = 0; uiMan = GameObject.Find("UI").GetComponent <UIManager>(); lineMan = GameObject.Find("LineManager").GetComponent <LineManager>(); gridMan = GameObject.Find("GridManager").GetComponent <GridManager>(); scoreMan = gameObject.AddComponent <ScoreManager>(); //ChangeUserState(USER_STATE.IDLE); // Init. state for mouse feedback lineMan.RemoveMousePointFromLine(); mouseCursor.GetComponent <SpriteRenderer>().enabled = false; // Differing behaviour for differing scenes if (SceneManager.GetActiveScene().name == "tutorial_scene") { currentPuzzle = LevelData.puzzleData[currentLevel]; gridMan.ConstructLevel(currentPuzzle); } else if (SceneManager.GetActiveScene().name == "puzzle_scene") { // Init proc. gen. variables ProcGenManager.InitSequentialGen(); ProcGenManager.CaptureInitPGW(); currentPuzzle = new PuzzleData(); currentPuzzle = ProcGenManager.RandomGenQueuedLevel(currentPuzzle); gridMan.ConstructLevel(currentPuzzle); } // Initialize ui uiMan.UpdateLevelUI(); }