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);
        }
Example #2
0
        protected virtual MenuEncounter GetMenuEncounter(
            KeyValuePair <int, Dictionary <SaveType, EncounterMetadata> > metadataGroup,
            WaitableTask <Dictionary <int, EncounterEditLock> > locks,
            WaitableTask <Dictionary <int, EncounterBasicStatus> > statuses)
        {
            EncounterBasicStatus status = null;

            if (statuses.Result.Value?.ContainsKey(metadataGroup.Key) == true)
            {
                status = statuses.Result.Value[metadataGroup.Key];
            }
            var menuEncounter = new MenuEncounter(metadataGroup.Value, status);

            if (!locks.Result.IsError() && locks.Result.Value?.ContainsKey(metadataGroup.Key) == true)
            {
                menuEncounter.Lock = locks.Result.Value[metadataGroup.Key];
            }

            return(menuEncounter);
        }
Example #3
0
 public MenuEncounter(Dictionary <SaveType, EncounterMetadata> metadata, EncounterBasicStatus status)
 {
     Metadata = metadata;
     Status   = status;
 }
 protected virtual void MetadataSelected(MenuSceneInfo sceneInfo, EncounterBasicStatus status, TaskResult <KeyValuePair <SaveType, EncounterMetadata> > metadata)
 => MetadataSelected(sceneInfo, status, metadata.Value);
        public WaitableTask <UserEncounter> GetUserEncounter(User user, EncounterMetadata metadata, EncounterBasicStatus basicStatus, SaveType saveType)
        {
            var encounterData  = dataReader.GetEncounter(user, metadata, saveType);
            var detailedStatus = detailedStatusReader.GetDetailedStatus(user, metadata, basicStatus);

            var encounter = new WaitableTask <UserEncounter>();

            void processResults() => ProcessResults(user, encounter, encounterData, detailedStatus);

            encounterData.AddOnCompletedListener((result) => processResults());
            detailedStatus.AddOnCompletedListener((result) => processResults());

            return(encounter);
        }