feat: add Effect model

This commit is contained in:
cswimr 2024-12-31 13:44:26 -05:00
parent 132fb649cb
commit 749f827264
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087
2 changed files with 55 additions and 0 deletions

41
Models/Effect.cs Normal file
View file

@ -0,0 +1,41 @@
using System.Collections.Generic;
namespace ZenithInfo.Models
{
public class Effect
{
public required string Name { get; set; }
public Enums.ModuleEffectTypes Type { get; set; }
public double Duration { get; set; }
public double ApplyDelta { get; set; }
public Enums.IsBuffed IsBuff { get; set; }
public bool ClearApplyOnDispel { get; set; }
public required ApplyEffect Apply { get; set; }
public required TickEffect Tick { get; set; }
public required DispelEffect Dispel { get; set; }
public required List<string> DisplayEffect { get; set; }
public class ApplyEffect
{
public required Dictionary<string, double> Stats { get; set; }
private object? Other { get; set; }
public required List<string> Flags { get; set; }
public bool HasOther()
{
return Other != null;
}
}
public class TickEffect
{
public required Dictionary<string, double> Stats { get; set; }
}
public class DispelEffect
{
public required Dictionary<string, double> Stats { get; set; }
}
}
}

View file

@ -67,5 +67,19 @@ namespace ZenithInfo.Models
{ TurretTypes.Railgun, DamageTypes.Hull },
{ TurretTypes.PulseLaser, DamageTypes.Shield },
};
public enum ModuleEffectTypes
{
Duration,
Persistent,
AoE,
}
public enum IsBuffed
{
True,
False,
Self,
}
}
}