public virtual void Start()
 {
     GameManager.Instance.SceneManager = this;
     if (GameManager.Instance.CurrentSceneState != null)
     {
         State = GameManager.Instance.CurrentSceneState;
     }
     NextScene.Where(scene => !string.IsNullOrEmpty(scene)).Subscribe(_ => TransitionManager.TransitionOut()).AddTo(this);
 }