public void Merge(IReadOnlyStatsDictionary otherStatsCache) { this.ValidateIsNotReadOnly(); this.Merge( this.Values, otherStatsCache.Values, isMultipliers: false); this.Merge( this.Multipliers, otherStatsCache.Multipliers, isMultipliers: true); StatsSources.Merge(ref this.sources, otherStatsCache.Sources); }
public void Merge(IReadOnlyStatsDictionary otherStatsCache) { this.ValidateIsNotReadOnly(); // values are merged via sum this.Merge( this.Values, otherStatsCache.Values, isMultiplied: false); // multipliers are merged via multiplication this.Merge( this.Multipliers, otherStatsCache.Multipliers, isMultiplied: !this.IsMultipliersSummed); StatsSources.Merge(ref this.sources, otherStatsCache.Sources); }