mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 23:31:13 -05:00
add initial public zombie stats models, migrations, and events
This commit is contained in:
27
Data/Models/Zombie/ZombieAggregateClientStat.cs
Normal file
27
Data/Models/Zombie/ZombieAggregateClientStat.cs
Normal file
@ -0,0 +1,27 @@
|
||||
namespace Data.Models.Zombie;
|
||||
|
||||
public class ZombieAggregateClientStat : ZombieClientStat
|
||||
{
|
||||
#region Average
|
||||
|
||||
public double AverageKillsPerDown { get; set; }
|
||||
public double AverageDowns { get; set; }
|
||||
public double AverageRevives { get; set; }
|
||||
public double HeadshotPercentage { get; set; }
|
||||
public double AlivePercentage { get; set; }
|
||||
public double AverageMelees { get; set; }
|
||||
public double AverageRoundReached { get; set; }
|
||||
public double AveragePoints { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Totals
|
||||
|
||||
public int HighestRound { get; set; }
|
||||
public int TotalRoundsPlayed { get; set; }
|
||||
public int TotalMatchesPlayed { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
public double RankingMetric { get; set; }
|
||||
}
|
34
Data/Models/Zombie/ZombieClientStat.cs
Normal file
34
Data/Models/Zombie/ZombieClientStat.cs
Normal file
@ -0,0 +1,34 @@
|
||||
#nullable enable
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Data.Models.Client;
|
||||
|
||||
namespace Data.Models.Zombie;
|
||||
|
||||
public abstract class ZombieClientStat
|
||||
{
|
||||
[Key]
|
||||
public long ZombieClientStatId { get; set; }
|
||||
|
||||
public int? MatchId { get; set; }
|
||||
|
||||
[ForeignKey(nameof(MatchId))]
|
||||
public virtual ZombieMatch? Match { get; set; }
|
||||
|
||||
public int ClientId { get; set; }
|
||||
[ForeignKey(nameof(ClientId))]
|
||||
public virtual EFClient? Client { get; set; }
|
||||
|
||||
public int Kills { get; set; }
|
||||
public int Deaths { get; set; }
|
||||
public int DamageDealt { get; set; }
|
||||
public int DamageReceived { get; set; }
|
||||
public int Headshots { get; set; }
|
||||
public int Melees { get; set; }
|
||||
public int Downs { get; set; }
|
||||
public int Revives { get; set; }
|
||||
public int PointsEarned { get; set; }
|
||||
public int PointsSpent { get; set; }
|
||||
public int PerksConsumed { get; set; }
|
||||
public int PowerupsGrabbed { get; set; }
|
||||
}
|
28
Data/Models/Zombie/ZombieMatch.cs
Normal file
28
Data/Models/Zombie/ZombieMatch.cs
Normal file
@ -0,0 +1,28 @@
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Data.Models.Client.Stats.Reference;
|
||||
using Data.Models.Server;
|
||||
|
||||
namespace Data.Models.Zombie;
|
||||
|
||||
public class ZombieMatch
|
||||
{
|
||||
[Key]
|
||||
public int ZombieMatchId { get; set; }
|
||||
|
||||
public int? MapId { get; set; }
|
||||
[ForeignKey(nameof(MapId))]
|
||||
public virtual EFMap? Map { get; set; }
|
||||
|
||||
public long? ServerId { get; set; }
|
||||
[ForeignKey(nameof(ServerId))]
|
||||
public virtual EFServer? Server { get; set; }
|
||||
|
||||
public virtual ICollection<ZombieClientStat>? ClientStats { get; set; }
|
||||
|
||||
public DateTimeOffset MatchStartDate { get; set; } = DateTimeOffset.UtcNow;
|
||||
public DateTimeOffset? MatchEndDate { get; set; }
|
||||
}
|
6
Data/Models/Zombie/ZombieMatchClientStat.cs
Normal file
6
Data/Models/Zombie/ZombieMatchClientStat.cs
Normal file
@ -0,0 +1,6 @@
|
||||
namespace Data.Models.Zombie;
|
||||
|
||||
public class ZombieMatchClientStat : ZombieClientStat
|
||||
{
|
||||
|
||||
}
|
13
Data/Models/Zombie/ZombieRoundClientStat.cs
Normal file
13
Data/Models/Zombie/ZombieRoundClientStat.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace Data.Models.Zombie;
|
||||
|
||||
public class ZombieRoundClientStat : ZombieClientStat
|
||||
{
|
||||
public DateTimeOffset StartTime { get; set; } = DateTimeOffset.UtcNow;
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
public TimeSpan? Duration { get; set; }
|
||||
public TimeSpan? TimeAlive { get; set; }
|
||||
public int RoundNumber { get; set; }
|
||||
public int Points { get; set; }
|
||||
}
|
Reference in New Issue
Block a user