using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Data.Models.Client.Stats.Reference; using Data.Models.Server; using Stats.Models; namespace Data.Models.Client.Stats { public class EFClientHitStatistic : AuditFields { [Key] public int ClientHitStatisticId { get; set; } [Required] public int ClientId { get; set; } [ForeignKey(nameof(ClientId))] public virtual EFClient Client { get; set; } public long? ServerId { get; set; } [ForeignKey(nameof(ServerId))] public virtual EFServer Server { get; set; } public int? HitLocationId { get; set; } [ForeignKey(nameof(HitLocationId))] public virtual EFHitLocation HitLocation { get; set; } public int? MeansOfDeathId { get; set; } [ForeignKey(nameof(MeansOfDeathId))] public virtual EFMeansOfDeath MeansOfDeath { get; set; } public int? WeaponId { get; set; } [ForeignKey(nameof(WeaponId))] public virtual EFWeapon Weapon { get; set; } public int? WeaponAttachmentComboId { get; set; } [ForeignKey(nameof(WeaponAttachmentComboId))] public virtual EFWeaponAttachmentCombo WeaponAttachmentCombo { get; set; } /// /// how many hits the player got /// public int HitCount { get; set; } /// /// how many kills the player got /// public int KillCount { get; set; } /// /// how much damage the player inflicted /// public int DamageInflicted { get; set; } /// /// how many hits the player received /// public int ReceivedHitCount { get; set; } /// /// how many kills the player received /// public int DeathCount { get; set; } /// /// how much damage the player received /// public int DamageReceived { get; set; } /// /// how many times the player killed themself /// public int SuicideCount { get; set; } /// /// estimation of time spent with the configuration /// public int? UsageSeconds { get; set; } /// /// total in-game score /// public int? Score { get; set; } } }