private static string GetDescription(GameObject entity, SkillSet set, SpellbookComponent spellbook) { var pieces = spellbook.GetSkillSetPiecesEquipped(set); var bestAvailable = set.Behaviours .Where(b => b.Key <= pieces) .OrderByDescending(b => b.Key) .FirstOrDefault(); var text = ""; foreach (var bonus in set.Behaviours) { if (bestAvailable.Key == bonus.Key) { text += "<color=white>"; } else { text += "<color=#555>"; } text += $"({bonus.Key}) {bonus.Value.First().Description.ToString(new StringVariableContext(entity))}\n"; text += "</color>"; } return(text); }