PartyDamage/CombatData.cs

38 lines
975 B
C#
Raw Normal View History

2024-07-24 21:12:55 +00:00
namespace PartyDamage;
public class CombatData {
2024-07-24 22:04:52 +00:00
public Encounter Encounter { get; }
public Dictionary<string, Combatant> Combatants { get; } = [];
public CombatData(RawCombatData raw) {
foreach (var (key, value) in raw.Combatants) {
this.Combatants[key] = new Combatant {
Name = value.Name,
EncDps = TryFloat(value.EncDps),
};
}
this.Encounter = new Encounter {
Title = raw.Encounter.Title,
EncDps = TryFloat(raw.Encounter.EncDps),
};
}
private static float TryFloat(string input, float def = float.NaN) {
if (!float.TryParse(input, out var result)) {
result = def;
}
return result;
}
2024-07-24 21:12:55 +00:00
}
public class Encounter {
2024-07-24 22:04:52 +00:00
public string Title { get; init; }
public float EncDps { get; init; }
2024-07-24 21:12:55 +00:00
}
public class Combatant {
2024-07-24 22:04:52 +00:00
public string Name { get; init; }
public float EncDps { get; init; }
}