protected virtual void MetadataSelected( MenuSceneInfo sceneInfo, MenuEncounter menuEncounter, TaskResult <KeyValuePair <SaveType, EncounterMetadata> > metadata) { if (metadata.HasValue()) { EnsureEncounterUnlocked(sceneInfo, menuEncounter, metadata.Value); } }
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); }
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)); }
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); }
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); } }
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);
public abstract void DisplayForEdit(MenuSceneInfo sceneInfo, IEnumerable <MenuEncounter> encounters);
public MenuSceneInfoSelectedEventArgs(MenuSceneInfo sceneInfo) => SceneInfo = sceneInfo;
public abstract void Display(MenuSceneInfo sceneInfo, IEnumerable <Category> categories);
public abstract void Display(MenuSceneInfo sceneInfo, MenuEncounter encounter);
public abstract void Display(MenuSceneInfo sceneInfo);