// Use this for initialization void Start () { // Instantiate internal managers gui = gameObject.AddComponent<GUIManager>(); musicManager = (GameObject) Instantiate(Resources.Load(ResourcePaths.musicManager), Vector3.zero, Quaternion.identity); musicManager.transform.SetParent(transform); soundManager = (GameObject) Instantiate(Resources.Load(ResourcePaths.soundManager), Vector3.zero, Quaternion.identity); soundManager.transform.SetParent(transform); music = musicManager.GetComponent<MusicManager>(); sound = soundManager.GetComponent<SoundManager>(); objects = gameObject.AddComponent<ObjectManager>(); levels = gameObject.AddComponent<LevelGenerator>(); art = gameObject.GetComponent<LayerManager>(); reactionTable = new ReactionTable(); if(layerTracks.Length > 0) { music.clips = layerTracks; } //Find camera if not explicitly done in the Editor (this is a failsafe.. shouldn't rely on this) if (!mainCamera) { mainCamera = GameObject.Find("Main Camera"); } // Start first level state = GameState.loading; PopulateReactionTable(); //This is just so the old "Gameplay" scene doesn't break #pragma warning disable 0618 // Type or member is obsolete if(Application.loadedLevelName == "Gameplay") { worldProperties = gameObject.AddComponent<WorldProperties>(); levels.CreateSampleLevel(); // Set the camera to follow the game's player mainCamera.GetComponent<CameraFollow>().SetPlayer(ref worldProperties.player); } #pragma warning restore 0618 // Type or member is obsolete }