public async Task <IEnumerable <Stat> > LoadStats(DestinyStat primaryStat, IDictionary <uint, DestinyStat> stats) { if (stats == null) { return(null); } var statDefs = await _cache.GetStatDefs(stats.Keys.Concat(new[] { primaryStat.StatHash })); return(statDefs.Select(statDef => { if (!stats.TryGetValue(statDef.Hash, out var stat)) { if (statDef.Hash == primaryStat.StatHash) { stat = primaryStat; } else { throw new Exception($"Unexpected stat {statDef.DisplayProperties.Name}"); } } return new Stat(stat, statDef); })); }
public Stat(DestinyStat stat, DestinyStatDefinition statDef) : base(string.Empty, statDef) { AggregationType = statDef.AggregationType; Value = stat.Value; }