public void StartMenuScene(UserEncounter userEncounter, ILoadingScreen loadingScreen, MenuArea menuArea)
        {
            ImageHolder.BeginHoldingData();
            var categories    = GetMenuEncountersInfo(userEncounter);
            var menuSceneInfo = new LoadingMenuSceneInfo(userEncounter.User, loadingScreen, menuArea, categories);

            MenuSceneStarter.StartScene(menuSceneInfo);
        }
        protected virtual void ReturnToMainMenu()
        {
            ImageHolder.BeginHoldingData();
            var sceneInfo     = WriterSceneInfoSelectedListener.CurrentValue.SceneInfo;
            var categories    = MenuInfoReader.GetMenuEncountersInfo(sceneInfo.User);
            var menuSceneInfo = new LoadingMenuSceneInfo(sceneInfo.User, sceneInfo.LoadingScreen, MenuArea.InitialSelection, categories);

            MenuSceneStarter.StartScene(menuSceneInfo);
        }
        public void StartEncounter(User user, ILoadingScreen loadingScreen, WaitableTask <IMenuEncountersInfo> encounters, int recordNumber)
        {
            loadingScreen.Show();
            ImageHolder.BeginHoldingData();
            var encounter        = GetEncounter(user, encounters, recordNumber);
            var loadingSceneInfo = new LoadingReaderSceneInfo(user, loadingScreen, encounter);

            SceneStarter.StartScene(loadingSceneInfo);
        }
        protected virtual void MetadataSelected(MenuSceneInfo sceneInfo, EncounterBasicStatus status, KeyValuePair <SaveType, EncounterMetadata> metadata)
        {
            if (status == null)
            {
                status = new EncounterBasicStatus();
            }

            ImageHolder.BeginHoldingData();
            ImageHolder.HoldImage(metadata.Value.Sprite);
            var encounter          = EncounterReader.GetUserEncounter(sceneInfo.User, metadata.Value, status, metadata.Key);
            var encounterSceneInfo = new LoadingReaderSceneInfo(sceneInfo.User, sceneInfo.LoadingScreen, encounter);

            SceneStarter.StartScene(encounterSceneInfo);
        }