public bool GetBonusMultiplier(GlobalBonusStat stat, out float multiplier, out string eventNames)
{
multiplier = 0;
eventNames = "";
lock (_bonuses)
{
if (!_bonuses.Any(a => a.Stat == stat))
return false;
}
var names = new HashSet<string>();
lock (_bonuses)
{
foreach (var bonus in _bonuses.Where(a => a.Stat == stat))
{
multiplier += bonus.Multiplier;
if (!string.IsNullOrWhiteSpace(bonus.Name))
names.Add(bonus.Name);
}
}
eventNames = string.Join(", ", names);
return true;
}