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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,22 @@ MonoBehaviour:
|
||||
followMouseOffset: {x: 15, y: -15}
|
||||
touchHoldDuration: 0.6
|
||||
gamepadFocusTrigger: 1
|
||||
elementPrefabs:
|
||||
- type:
|
||||
id: header
|
||||
prefab: {fileID: 7034836061828108288, guid: dfc1bc0bd5b4905409615c3e770a5b77, type: 3}
|
||||
- type:
|
||||
id: image
|
||||
prefab: {fileID: 5887814251614319338, guid: 5e715f4b614d02b4fa0b4d3fcfe3c053, type: 3}
|
||||
- type:
|
||||
id: label_value_text
|
||||
prefab: {fileID: 6246834368258800846, guid: 5882db210c62d8647858933649f64c29, type: 3}
|
||||
- type:
|
||||
id: separator
|
||||
prefab: {fileID: 6770634903822758885, guid: 7ccdfa1a2079db044be4b1684303ec7f, type: 3}
|
||||
- type:
|
||||
id: text
|
||||
prefab: {fileID: 3157287847714375358, guid: bfa97c92d1878cc448ddc7dc456f4b17, type: 3}
|
||||
categoryPriorities:
|
||||
- category:
|
||||
id: Character
|
||||
|
||||
@@ -68,11 +68,6 @@ MonoBehaviour:
|
||||
content: {fileID: 176628901263125209}
|
||||
canvasGroup: {fileID: 1835601435911948781}
|
||||
background: {fileID: 8899521584296352500}
|
||||
headerPrefab: {fileID: 6612787789151041457, guid: dfc1bc0bd5b4905409615c3e770a5b77, type: 3}
|
||||
textPrefab: {fileID: 2506259255305457008, guid: bfa97c92d1878cc448ddc7dc456f4b17, type: 3}
|
||||
statPrefab: {fileID: 1843470073663794312, guid: 5882db210c62d8647858933649f64c29, type: 3}
|
||||
imagePrefab: {fileID: 7093821785826926595, guid: 5e715f4b614d02b4fa0b4d3fcfe3c053, type: 3}
|
||||
separatorPrefab: {fileID: 4190588985333916705, guid: 7ccdfa1a2079db044be4b1684303ec7f, type: 3}
|
||||
--- !u!223 &3081303906751693297
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -118,7 +113,7 @@ MonoBehaviour:
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
m_PresetInfoIsWorld: 0
|
||||
m_PresetInfoIsWorld: 1
|
||||
--- !u!114 &7236468329886607693
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
Reference in New Issue
Block a user