HeavenStudioPlus/Assets/Scripts/Initializer.cs

71 lines
2.7 KiB
C#
Raw Normal View History

2022-01-03 22:42:43 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
2022-02-05 04:40:33 +00:00
using UnityEngine.Audio;
2022-01-03 22:42:43 +00:00
2022-03-14 14:21:05 +00:00
namespace HeavenStudio
2022-01-03 22:42:43 +00:00
{
public class Initializer : MonoBehaviour
{
public TextAsset level;
public AudioClip music;
2022-01-06 00:11:33 +00:00
public bool debugUI;
public bool playOnStart = false;
public bool editor = false;
2022-01-03 22:42:43 +00:00
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 OverlayCamera = Cameras.transform.GetChild(2).gameObject;
GameObject GameLetterbox = Cameras.transform.GetChild(3).gameObject;
2022-01-03 22:42:43 +00:00
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>();
2022-01-15 22:52:53 +00:00
gameManager.playOnStart = playOnStart;
2022-01-03 22:42:43 +00:00
gameManager.txt = level;
gameManager.GamesHolder = Games;
gameManager.CircleCursor = Cursor.transform.GetChild(0).GetComponent<CircleCursor>();
gameManager.GameCamera = MainCamera.GetComponent<Camera>();
gameManager.CursorCam = CursorCamera.GetComponent<Camera>();
gameManager.OverlayCamera = OverlayCamera.GetComponent<Camera>();
gameManager.GameLetterbox = GameLetterbox;
2022-01-03 22:42:43 +00:00
GameObject Profiler = Instantiate(Resources.Load<GameObject>("Prefabs/GameProfiler"));
Profiler.name = "GameProfiler";
2022-01-06 00:11:33 +00:00
if (!debugUI)
{
Profiler.GetComponent<DebugUI>().enabled = false;
Profiler.transform.GetChild(0).gameObject.SetActive(false);
}
2022-01-03 22:42:43 +00:00
GameObject Conductor = new GameObject();
Conductor.name = "Conductor";
2022-01-15 22:52:53 +00:00
AudioSource source = Conductor.AddComponent<AudioSource>();
source.clip = music;
2022-01-03 22:42:43 +00:00
Conductor.AddComponent<Conductor>();
2022-01-15 22:52:53 +00:00
Conductor.GetComponent<Conductor>().musicSource = source;
2022-02-05 04:40:33 +00:00
source.outputAudioMixerGroup = Settings.GetMusicMixer();
// Conductor.AddComponent<AudioDspTimeKeeper>();
2022-01-06 00:11:33 +00:00
if (editor)
{
2022-03-14 14:21:05 +00:00
this.GetComponent<HeavenStudio.Editor.Editor>().Init();
2022-01-06 00:11:33 +00:00
}
2022-01-15 22:52:53 +00:00
else
{
gameManager.Init();
}
2022-01-03 22:42:43 +00:00
}
}
}