(a185ec0cd) Don't report on broken items that have condition above the threshold. Optimize and fix.

This commit is contained in:
Joonas Rikkonen
2019-05-16 05:41:25 +03:00
parent 79d01822d2
commit 1d5de494cd
84 changed files with 1733 additions and 1805 deletions
@@ -776,6 +776,37 @@ namespace Barotrauma
ic.DrawHUD(spriteBatch, character);
}
}
}
List<ColoredText> texts = new List<ColoredText>();
public List<ColoredText> GetHUDTexts(Character character)
{
texts.Clear();
foreach (ItemComponent ic in components)
{
if (string.IsNullOrEmpty(ic.DisplayMsg)) continue;
if (!ic.CanBePicked && !ic.CanBeSelected) continue;
if (ic is Holdable holdable && !holdable.CanBeDeattached()) continue;
Color color = Color.Gray;
bool hasRequiredSkillsAndItems = ic.HasRequiredSkills(character) && ic.HasRequiredItems(character, false);
if (hasRequiredSkillsAndItems)
{
if (ic is Repairable repairable)
{
if (Condition < repairable.ShowRepairUIThreshold)
{
color = Color.Cyan;
}
}
else
{
color = Color.Cyan;
}
}
texts.Add(new ColoredText(ic.DisplayMsg, color, false));
}
return texts;
}