Пример #1
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
Пример #2
0
    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();
            };
        }
    }