Modift GameStatistics (1)

This commit is contained in:
milimoe 2023-10-27 20:10:00 +08:00
parent faf370b907
commit 1c3627a9b7
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
2 changed files with 34 additions and 31 deletions

View File

@ -1,25 +1,28 @@
using System.Collections;
using Milimoe.FunGame.Core.Library.Constant;
namespace Milimoe.FunGame.Core.Entity
{
public class GameStatistics
{
public int Id { get; set; }
public Room? Room { get; set; } = null;
public string? GameRecord { get; set; } = null;
public string? RunTime { get; set; } = null;
public Hashtable? DamageStats { get; set; } = new Hashtable();
public Hashtable? PhysicalDamageStats { get; set; } = new Hashtable();
public Hashtable? MagicDamageStats { get; set; } = new Hashtable();
public Hashtable? RealDamageStats { get; set; } = new Hashtable();
public Hashtable? AvgDamageStats { get; set; } = new Hashtable();
public Hashtable? KillStats { get; set; } = new Hashtable();
public Hashtable? KillDetailStats { get; set; } = new Hashtable();
public Hashtable? DeathStats { get; set; } = new Hashtable();
public Hashtable? DeathDetailStats { get; set; } = new Hashtable();
public Hashtable? AssistStats { get; set; } = new Hashtable();
public Hashtable? RatingStats { get; set; } = new Hashtable();
public Hashtable? EloStats { get; set; } = new Hashtable();
public Hashtable? RankStats { get; set; } = new Hashtable();
public long Id => Room.Id;
public Room Room { get; set; } = General.HallInstance;
public DateTime RecordTime { get; set; } = DateTime.Now;
public string Record { get; set; } = "";
public Dictionary<User, decimal> DamageStats { get; set; } = new();
public Dictionary<User, decimal> PhysicalDamageStats { get; } = new();
public Dictionary<User, decimal> MagicDamageStats { get; } = new();
public Dictionary<User, decimal> RealDamageStats { get; } = new();
public Dictionary<User, decimal> AvgDamageStats { get; } = new();
public Dictionary<User, decimal> AvgPhysicalDamageStats { get; } = new();
public Dictionary<User, decimal> AvgMagicDamageStats { get; } = new();
public Dictionary<User, decimal> AvgRealDamageStats { get; } = new();
public Dictionary<User, decimal> KillStats { get; } = new();
public Dictionary<User, Dictionary<User, int>> KillDetailStats { get; } = new(); // 子字典记录的是被击杀者以及被击杀次数
public Dictionary<User, decimal> DeathStats { get; } = new();
public Dictionary<User, Dictionary<User, int>> DeathDetailStats { get; } = new(); // 子字典记录的是击杀者以及击杀次数
public Dictionary<User, long> AssistStats { get; } = new();
public Dictionary<User, decimal> RatingStats { get; } = new(); // 结算后的Rating
public Dictionary<User, decimal> EloStats { get; } = new(); // Elo分数变化(+/-)
public Dictionary<User, string> RankStats { get; } = new(); // 结算后的Rank非比赛前
}
}

View File

@ -8,10 +8,10 @@ namespace Milimoe.FunGame.Core.Entity
{
public long Id => User.Id;
public User User { get; }
public Dictionary<long, decimal> DamageStats { get; set; } = new();
public Dictionary<long, decimal> PhysicalDamageStats { get; set; } = new();
public Dictionary<long, decimal> MagicDamageStats { get; set; } = new();
public Dictionary<long, decimal> RealDamageStats { get; set; } = new();
public Dictionary<long, decimal> DamageStats { get; } = new();
public Dictionary<long, decimal> PhysicalDamageStats { get; } = new();
public Dictionary<long, decimal> MagicDamageStats { get; } = new();
public Dictionary<long, decimal> RealDamageStats { get; } = new();
public Dictionary<long, decimal> AvgDamageStats
{
get
@ -84,12 +84,12 @@ namespace Milimoe.FunGame.Core.Entity
return avgdamage;
}
}
public Dictionary<long, long> Kills { get; set; } = new();
public Dictionary<long, long> Deaths { get; set; } = new();
public Dictionary<long, long> Assists { get; set; } = new();
public Dictionary<long, long> Plays { get; set; } = new();
public Dictionary<long, long> Wins { get; set; } = new();
public Dictionary<long, long> Loses { get; set; } = new();
public Dictionary<long, long> Kills { get; } = new();
public Dictionary<long, long> Deaths { get; } = new();
public Dictionary<long, long> Assists { get; } = new();
public Dictionary<long, long> Plays { get; } = new();
public Dictionary<long, long> Wins { get; } = new();
public Dictionary<long, long> Loses { get; } = new();
public Dictionary<long, decimal> Winrates
{
get
@ -108,9 +108,9 @@ namespace Milimoe.FunGame.Core.Entity
return winrates;
}
}
public Dictionary<long, decimal> RatingStats { get; set; } = new();
public Dictionary<long, decimal> EloStats { get; set; } = new();
public Dictionary<long, string> RankStats { get; set; } = new();
public Dictionary<long, decimal> RatingStats { get; } = new();
public Dictionary<long, decimal> EloStats { get; } = new();
public Dictionary<long, string> RankStats { get; } = new();
public string GetWinrate(long season)
{