using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; namespace RhythmHeavenMania { public class Initializer : MonoBehaviour { public TextAsset level; public AudioClip music; public bool debugUI; public bool playOnStart = false; public bool editor = false; private void Start() { GameObject Cameras = Instantiate(Resources.Load<GameObject>("Prefabs/Cameras")); Cameras.name = "Cameras"; GameObject MainCamera = Cameras.transform.GetChild(0).gameObject; GameObject CursorCamera = Cameras.transform.GetChild(1).gameObject; GameObject Cursor = Instantiate(Resources.Load<GameObject>("Prefabs/Cursor")); Cursor.name = "Cursor"; GameObject Games = new GameObject(); Games.name = "Games"; GameObject GameManager = new GameObject(); GameManager.name = "GameManager"; GameManager gameManager = GameManager.AddComponent<GameManager>(); gameManager.playOnStart = playOnStart; gameManager.txt = level; gameManager.GamesHolder = Games; gameManager.CircleCursor = Cursor.transform.GetChild(0).GetComponent<CircleCursor>(); gameManager.GameCamera = MainCamera.GetComponent<Camera>(); gameManager.CursorCam = CursorCamera.GetComponent<Camera>(); GameObject Profiler = Instantiate(Resources.Load<GameObject>("Prefabs/GameProfiler")); Profiler.name = "GameProfiler"; if (!debugUI) { Profiler.GetComponent<DebugUI>().enabled = false; Profiler.transform.GetChild(0).gameObject.SetActive(false); } GameObject Conductor = new GameObject(); Conductor.name = "Conductor"; AudioSource source = Conductor.AddComponent<AudioSource>(); source.clip = music; Conductor.AddComponent<Conductor>(); Conductor.GetComponent<Conductor>().musicSource = source; source.outputAudioMixerGroup = Settings.GetMusicMixer(); // Conductor.AddComponent<AudioDspTimeKeeper>(); if (editor) { this.GetComponent<RhythmHeavenMania.Editor.Editor>().Init(); } else { gameManager.Init(); } } } }