forked from Shardstone/trail-into-darkness
Made the popup system a lot more generic
This commit is contained in:
@@ -103,10 +103,10 @@ namespace Nox.Game.UI {
|
||||
private void BuildCharacterPopup(PopupContentBuilder builder, CharacterDefinition member) {
|
||||
// Header
|
||||
builder
|
||||
.AddHeader(member.Name)
|
||||
.AddText($"{member.Race} {member.Class}", "#CCCCCC")
|
||||
.AddText($"Role: {member.Role}")
|
||||
.AddSeparator();
|
||||
.AddText(member.Name, PopupElementType.Header)
|
||||
.AddText($"{member.Race} {member.Class}", "#CCCCCC", PopupElementType.Text)
|
||||
.AddText($"Role: {member.Role}", PopupElementType.Text)
|
||||
.AddSeparator(PopupElementType.Separator);
|
||||
|
||||
// Stats
|
||||
if(member.Stats?.stats != null) {
|
||||
@@ -115,12 +115,12 @@ namespace Nox.Game.UI {
|
||||
var health = member.Stats.GetValue(StatType.Health);
|
||||
var mana = member.Stats.GetValue(StatType.Mana);
|
||||
builder
|
||||
.AddStat("Level", level)
|
||||
.AddStat("XP", xp)
|
||||
.AddSeparator()
|
||||
.AddStat("Health", health)
|
||||
.AddStat("Mana", mana)
|
||||
.AddSeparator();
|
||||
.AddNameValue("Level", level, PopupElementType.LabelValueText)
|
||||
.AddNameValue("XP", xp, PopupElementType.LabelValueText)
|
||||
.AddSeparator(PopupElementType.Separator)
|
||||
.AddNameValue("Health", health, PopupElementType.LabelValueText)
|
||||
.AddNameValue("Mana", mana, PopupElementType.LabelValueText)
|
||||
.AddSeparator(PopupElementType.Separator);
|
||||
}
|
||||
|
||||
// Attributes
|
||||
@@ -129,26 +129,26 @@ namespace Nox.Game.UI {
|
||||
if(attr.attribute == AttributeType.None) {
|
||||
continue;
|
||||
}
|
||||
builder.AddStat(attr.attribute.ToString(), attr.value);
|
||||
builder.AddNameValue(attr.attribute.ToString(), attr.value, PopupElementType.LabelValueText);
|
||||
}
|
||||
}
|
||||
builder.AddSeparator();
|
||||
builder.AddSeparator(PopupElementType.Separator);
|
||||
|
||||
// Perks
|
||||
if(member.Perks?.perks != null && member.Perks.perks.Count > 0) {
|
||||
builder.AddText("Perks", "#FFD700");
|
||||
if(member.Perks?.perks is { Count: > 0 }) {
|
||||
builder.AddText("Perks", "#FFD700", PopupElementType.Text);
|
||||
foreach(var perk in member.Perks.perks) {
|
||||
builder.AddText($" {perk.Name}");
|
||||
builder.AddText($" {perk.Name}", PopupElementType.Text);
|
||||
}
|
||||
builder.AddSeparator();
|
||||
builder.AddSeparator(PopupElementType.Separator);
|
||||
}
|
||||
|
||||
// Modifiers
|
||||
if(member.Modifiers?.modifiers is { Count: > 0 }) {
|
||||
builder.AddText("Modifiers", "#87CEEB");
|
||||
builder.AddText("Modifiers", "#87CEEB", PopupElementType.Text);
|
||||
foreach(var mod in member.Modifiers.modifiers) {
|
||||
var target = mod.Target != null ? mod.Target.ToString() : "";
|
||||
builder.AddText($" {mod.Name} ({mod.Operation} {mod.Value} {target})");
|
||||
builder.AddText($" {mod.Name} ({mod.Operation} {mod.Value} {target})", PopupElementType.Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user