servicepoint-tanks/tanks-backend/TanksServer/Models/Player.cs
2024-04-28 12:53:18 +02:00

25 lines
726 B
C#

using System.Text.Json.Serialization;
namespace TanksServer.Models;
internal sealed class Player : IEquatable<Player>
{
public required string Name { get; init; }
[JsonIgnore] public PlayerControls Controls { get; } = new();
public Scores Scores { get; } = new();
public DateTime LastInput { get; set; } = DateTime.Now;
public override bool Equals(object? obj) => obj is Player p && Equals(p);
public bool Equals(Player? other) => other?.Name == Name;
public override int GetHashCode() => Name.GetHashCode();
public static bool operator ==(Player? left, Player? right) => Equals(left, right);
public static bool operator !=(Player? left, Player? right) => !Equals(left, right);
}