Add DPS calculations and columns to WeaponTable
Introduced new methods in `EntityWeaponModel` to calculate DPS for normal, light, medium, and heavy damage types. Updated `WeaponTable.razor` to display these new DPS values as additional columns for better weapon performance insights. Also fixed missing initialization of the base `Damage` property in test data.
This commit is contained in:
@@ -12,6 +12,52 @@ public class EntityWeaponModel : IEntityPartInterface
|
||||
public float AttacksPerSecond { get; set; } = 0;
|
||||
public float SecondsBetweenAttacks { get; set; } = 0;
|
||||
|
||||
public float DamagePerSecond()
|
||||
{
|
||||
if (SecondsBetweenAttacks == 0)
|
||||
{
|
||||
return Damage * AttacksPerSecond;
|
||||
}
|
||||
|
||||
return Damage / SecondsBetweenAttacks;
|
||||
}
|
||||
|
||||
public float DamagePerSecondLight()
|
||||
{
|
||||
var damage = LightDamage != 0 ? LightDamage : Damage;
|
||||
|
||||
if (SecondsBetweenAttacks == 0)
|
||||
{
|
||||
return damage * AttacksPerSecond;
|
||||
}
|
||||
|
||||
return damage / SecondsBetweenAttacks;
|
||||
}
|
||||
|
||||
public float DamagePerSecondMedium()
|
||||
{
|
||||
var damage = MediumDamage != 0 ? MediumDamage : Damage;
|
||||
|
||||
if (SecondsBetweenAttacks == 0)
|
||||
{
|
||||
return damage * AttacksPerSecond;
|
||||
}
|
||||
|
||||
return damage / SecondsBetweenAttacks;
|
||||
}
|
||||
|
||||
public float DamagePerSecondHeavy()
|
||||
{
|
||||
var damage = HeavyDamage != 0 ? HeavyDamage : Damage;
|
||||
|
||||
if (SecondsBetweenAttacks == 0)
|
||||
{
|
||||
return damage * AttacksPerSecond;
|
||||
}
|
||||
|
||||
return damage / SecondsBetweenAttacks;
|
||||
}
|
||||
|
||||
public float Cooldown { get; set; } = 0;
|
||||
public float Charges { get; set; } = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user