Files
MauMau-Server/Mau/GameState.cs
DTieman 3c2032a800
All checks were successful
Build Mau & Deploy Mau / build (push) Successful in 1m33s
Build Mau & Deploy Mau / deploy (push) Has been skipped
Added:
- Chat message cleaning to prevent HTML injection
- Player hand size to game state
- Deck automatically creates sets when it doesnt have any cards left
2024-04-21 16:27:58 +02:00

44 lines
1.2 KiB
C#

namespace MauMau_Server.Mau;
public class GameState
{
public PlayerDTO Me { get; set; }
public string CurrentState { get; set; }
public List<string> Hand { get; set; } = new();
public string CurrentCard { get; set; }
public PlayerDTO CurrentPlayer { get; set; }
public List<PlayerDTO> Players { get; set; } = new();
public GameState(Game game, string playerId)
{
var p = game.GetPlayer(playerId);
Me = new PlayerDTO(game.GetPlayer(playerId));
CurrentState = p.State.ToString();
foreach (var card in p.Hand)
{
Hand.Add(card.ToString());
}
foreach (var player in game.Players)
{
Players.Add(new PlayerDTO(player));
}
CurrentCard = game.CurrentCard.ToString();
CurrentPlayer = new PlayerDTO(game.CurrentPlayer);
}
}
public class PlayerDTO
{
public string Name { get; set; }
public string Id { get; set; }
public int CardsLeft { get; set; }
public PlayerDTO(Player player)
{
Name = player.Connection.Name;
Id = player.Connection.ConnectionId;
CardsLeft = player.Hand.Count;
}
}