/// <summary> /// Loads the relic vault stash /// </summary> public LoadRelicVaultStashResult LoadRelicVaultStash() { var result = new LoadRelicVaultStashResult(); result.RelicVaultStashFile = GamePathResolver.RelicVaultStashFile; // Get the relic vault stash var resultStash = this.userContext.Stashes.GetOrAddAtomic(result.RelicVaultStashFile, k => { var stash = new Stash(Resources.GlobalRelicVaultStash, k); stash.CreateEmptySack(); stash.Sack.StashType = SackType.RelicVaultStash; try { stash.StashFound = StashProvider.LoadFile(stash); if (stash.StashFound.Value) { stash.Sack.StashType = SackType.RelicVaultStash; } } catch (ArgumentException argumentException) { stash.ArgumentException = argumentException; } return(stash); }); result.Stash = resultStash; result.StashFound = resultStash.StashFound; result.StashArgumentException = resultStash.ArgumentException; return(result); }
/// <summary> /// Loads the relic vault stash /// </summary> public LoadRelicVaultStashResult LoadRelicVaultStash() { var result = new LoadRelicVaultStashResult(); result.RelicVaultStashFile = GamePathResolver.RelicVaultStashFile; // Get the relic vault stash try { result.Stash = this.userContext.Stashes[result.RelicVaultStashFile]; } catch (KeyNotFoundException) { result.Stash = new Stash(Resources.GlobalRelicVaultStash, result.RelicVaultStashFile); result.Stash.CreateEmptySack(); result.Stash.Sack.StashType = SackType.RelicVaultStash; try { result.StashPresent = StashProvider.LoadFile(result.Stash); if (result.StashPresent.Value) { result.Stash.Sack.StashType = SackType.RelicVaultStash; this.userContext.Stashes.Add(result.RelicVaultStashFile, result.Stash); } } catch (ArgumentException argumentException) { result.ArgumentException = argumentException; } } return(result); }