43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System.Collections.Generic;
 | 
						|
 | 
						|
namespace AnotherReplayReader.ReplayFile
 | 
						|
{
 | 
						|
    internal sealed class Player
 | 
						|
    {
 | 
						|
        public static readonly IReadOnlyDictionary<string, string> ComputerNames = new Dictionary<string, string>
 | 
						|
        {
 | 
						|
            { "E", "简单" },
 | 
						|
            { "M", "中等" },
 | 
						|
            { "H", "困难" },
 | 
						|
            { "B", "凶残" },
 | 
						|
        };
 | 
						|
 | 
						|
        public bool IsComputer { get; }
 | 
						|
        public string PlayerName { get; }
 | 
						|
        public uint PlayerIp { get; }
 | 
						|
        public int FactionId { get; }
 | 
						|
        public int Team { get; }
 | 
						|
 | 
						|
        public Player(string[] playerEntry)
 | 
						|
        {
 | 
						|
            IsComputer = playerEntry[0][0] == 'C';
 | 
						|
 | 
						|
            PlayerName = playerEntry[0].Substring(1);
 | 
						|
 | 
						|
            if (IsComputer)
 | 
						|
            {
 | 
						|
                PlayerName = ComputerNames[PlayerName];
 | 
						|
                PlayerIp = 0;
 | 
						|
                FactionId = int.Parse(playerEntry[2]);
 | 
						|
                Team = int.Parse(playerEntry[4]);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                PlayerIp = uint.Parse(playerEntry[1], System.Globalization.NumberStyles.HexNumber);
 | 
						|
                FactionId = int.Parse(playerEntry[5]);
 | 
						|
                Team = int.Parse(playerEntry[7]);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |