private void Awake() { if (Instance == null) { Instance = this; } }
static void OnAfterSceneLoad() { UITime = Object.FindObjectOfType <UITime>(); UIOver = GameObject.FindObjectOfType <UIOver>(); Spwaner = GameObject.FindObjectOfType <PieSpawner>(); Camera = Camera.main; MainObject = new GameObject("Main"); GameObject.DontDestroyOnLoad(MainObject); Schedule = MainObject.GetComponent <Schedule>() ?? MainObject.AddComponent <Schedule>(); var go = GameObject.FindObjectsOfType <GameObject>(); var obj = System.Array.Find(go, item => item.name == "Ball"); GameObject.DontDestroyOnLoad(obj); Player = obj; PlayerEvent = new PlayerEvent(); PlayerState = Player.GetComponent <PlayerState>(); PlayerState.player = Player; PlayerState.playerEvent = PlayerEvent; Schedule.UpdateEvent += UITime.UpdateTime2; Cursor.visible = false; if (Spwaner) { Spwaner.StartEvent += StartGame; Spwaner.EndEvent += EndGame; } if (UIOver) { UIOver.gameObject.SetActive(false); UIOver.ResetClick += () => { Cursor.visible = false; UIOver.gameObject.SetActive(false); Spwaner.ResetPosition(); PlayerState.CurrentState = State.General; Camera.GetComponent <LookAt>().ResetY(); }; } }