Exemplo n.º 1
0
 protected virtual void MetadataSelected(
     MenuSceneInfo sceneInfo,
     MenuEncounter menuEncounter,
     TaskResult <KeyValuePair <SaveType, EncounterMetadata> > metadata)
 {
     if (metadata.HasValue())
     {
         EnsureEncounterUnlocked(sceneInfo, menuEncounter, metadata.Value);
     }
 }
Exemplo n.º 2
0
        protected virtual void StartWriter(MenuSceneInfo sceneInfo, KeyValuePair <SaveType, EncounterMetadata> metadata)
        {
            if (metadata.Value == null)
            {
                return;
            }

            var encounter          = EncounterReader.GetEncounter(sceneInfo.User, metadata.Value, metadata.Key);
            var encounterSceneInfo = new LoadingWriterSceneInfo(sceneInfo.User, sceneInfo.LoadingScreen, encounter);

            SceneStarter.StartScene(encounterSceneInfo);
        }
Exemplo n.º 3
0
        protected virtual void SelectMetadata(MenuSceneInfo sceneInfo, MenuEncounter menuEncounter)
        {
            if (MetadataSelector == null)
            {
                EnsureEncounterUnlocked(sceneInfo, menuEncounter, menuEncounter.GetLatestTypedMetada());
                return;
            }

            var result = MetadataSelector.GetMetadata(menuEncounter);

            result.AddOnCompletedListener((value) => MetadataSelected(sceneInfo, menuEncounter, value));
        }
        public virtual void StartEncounter(MenuSceneInfo sceneInfo, MenuEncounter menuEncounter)
        {
            if (MetadataSelector == null)
            {
                MetadataSelected(sceneInfo, menuEncounter.Status, menuEncounter.GetLatestTypedMetada());
                return;
            }

            var result = MetadataSelector.GetMetadata(menuEncounter);

            result.AddOnCompletedListener((value) => MetadataSelected(sceneInfo, menuEncounter.Status, value));
        }
Exemplo n.º 5
0
        protected virtual void EncounterLocked(
            TaskResult result,
            MenuSceneInfo sceneInfo,
            KeyValuePair <SaveType, EncounterMetadata> metadata)
        {
            if (!result.IsError())
            {
                StartWriter(sceneInfo, metadata);
                return;
            }

            MessageHandler.ShowMessage($"Cannot set lock on encounter: {result.Exception.Message}", MessageType.Error);
        }
        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);
        }
Exemplo n.º 7
0
 protected virtual void EnsureEncounterUnlocked(
     MenuSceneInfo sceneInfo,
     MenuEncounter menuEncounter,
     KeyValuePair <SaveType, EncounterMetadata> metadata)
 {
     if (menuEncounter.Metadata.ContainsKey(SaveType.Server))
     {
         var task = EncounterLocker.LockEncounter(sceneInfo.User, metadata.Value);
         task.AddOnCompletedListener((result) => EncounterLocked(result, sceneInfo, metadata));
     }
     else
     {
         StartWriter(sceneInfo, metadata);
     }
 }
Exemplo n.º 8
0
 public virtual void StartEncounter(MenuSceneInfo sceneInfo, MenuEncounter menuEncounter)
 => SelectMetadata(sceneInfo, menuEncounter);
 protected virtual void MetadataSelected(MenuSceneInfo sceneInfo, EncounterBasicStatus status, TaskResult <KeyValuePair <SaveType, EncounterMetadata> > metadata)
 => MetadataSelected(sceneInfo, status, metadata.Value);
Exemplo n.º 10
0
 public abstract void DisplayForEdit(MenuSceneInfo sceneInfo, IEnumerable <MenuEncounter> encounters);
 public MenuSceneInfoSelectedEventArgs(MenuSceneInfo sceneInfo) => SceneInfo = sceneInfo;
Exemplo n.º 12
0
 public abstract void Display(MenuSceneInfo sceneInfo, IEnumerable <Category> categories);
Exemplo n.º 13
0
 public abstract void Display(MenuSceneInfo sceneInfo, MenuEncounter encounter);
Exemplo n.º 14
0
 public abstract void Display(MenuSceneInfo sceneInfo);