protected virtual void ProcessResults(WaitableTask actionResult, TaskResult <string> serverResult, EncounterMetadata metadata) { if (serverResult.IsError()) { actionResult.SetError(serverResult.Exception); return; } Debug.Log("Returned text from PHP: \n" + serverResult.Value); if (string.IsNullOrWhiteSpace(serverResult.Value)) { actionResult.SetError(new Exception("No text returned from the server.")); return; } var splitStr = serverResult.Value.Split('|'); if (int.TryParse(splitStr[0], out var recordNumber)) { metadata.RecordNumber = recordNumber; } actionResult.SetCompleted(); }
protected virtual void ProcessResults(User user, WaitableTask <IMenuEncountersInfo> result, TaskResult <List <MenuEncounter> > menuEncounters) { if (menuEncounters.Value == null) { result.SetError(null); return; } var menuEncountersInfo = new MenuEncountersInfo(user); foreach (var menuEncounter in menuEncounters.Value) { menuEncountersInfo.AddEncounter(menuEncounter); } result.SetResult(menuEncountersInfo); }
protected virtual void EncounterUnlocked(TaskResult result) { }
protected virtual void OnColorThemeSelected(TaskResult<CharacterColorTheme> colorThemeResult) { if (colorThemeResult.HasValue()) SetIcon(colorThemeResult.Value); }
private void EncounterRetrieved(TaskResult <UserEncounter> encounter) { var loadedInfo = new ReaderSceneInfo(this); Result.SetResult(loadedInfo); }
private void ProcessResults(WaitableTask <EncounterNonImageContent> result, TaskResult <string> serverResult) { result.SetResult(parser.Deserialize(serverResult.Value)); }
private void ProcessResults(WaitableTask <Dictionary <int, EncounterBasicStatus> > result, TaskResult <string[]> fileTexts) { if (!fileTexts.HasValue()) { result.SetResult(new Dictionary <int, EncounterBasicStatus>()); return; } var statuses = new Dictionary <int, EncounterBasicStatus>(); foreach (var fileText in fileTexts.Value) { var metadata = parser.Deserialize(fileText); if (statuses.ContainsKey(metadata.Key)) { Debug.LogError($"Duplicate saved status for key {metadata.Key}"); continue; } if (metadata.Value != null) { statuses.Add(metadata.Key, metadata.Value); } } result.SetResult(statuses); }
protected virtual void SetUserEncounter(WaitableTask <UserEncounter> result, User user, TaskResult <IMenuEncountersInfo> encounters, int recordNumber) { if (encounters.IsError()) { result.SetError(encounters.Exception); return; } foreach (var encounter in encounters.Value.GetEncounters()) { var typedMetadata = encounter.GetLatestTypedMetada(); if (typedMetadata.Value.RecordNumber != recordNumber) { continue; } ImageHolder.HoldImage(typedMetadata.Value.Sprite); var userEncounter = EncounterReader.GetUserEncounter(user, typedMetadata.Value, encounter.Status, typedMetadata.Key); userEncounter.CopyValueWhenCompleted(result); return; } result.SetError(new Exception("Could not find an encounter with the given record number.")); }
protected virtual void MetadataSelected(MenuSceneInfo sceneInfo, EncounterBasicStatus status, TaskResult <KeyValuePair <SaveType, EncounterMetadata> > metadata) => MetadataSelected(sceneInfo, status, metadata.Value);