Files
MauMau-Server/Mau/Player.cs
DTieman 694bc6147a
Some checks failed
Build Mau & Deploy Mau / build (push) Failing after 1m15s
Build Mau & Deploy Mau / deploy (push) Has been skipped
Partial rewrite, missing:
- Correctly parsing incoming messages
- Sending the gamestate after relevant actions
2024-05-04 19:55:11 +02:00

37 lines
866 B
C#

using MauMau_Server.Websockets;
namespace MauMau_Server.Mau;
public class Player
{
public ConnectionInstance Connection { get; set; }
public PlayerState State { get; set; } = PlayerState.WAIT;
public List<Card> Hand { get; set; } = new();
public Player(ConnectionInstance connection)
{
Connection = connection;
}
public void GiveCard(Card card)
{
Hand.Add(card);
}
public void GiveCards(IEnumerable<Card> cards)
{
Hand.AddRange(cards);
}
public Card? TakeCardFromHand(Card card)
{
return Hand.FirstOrDefault(handCard => handCard.IsSameCard(card));
}
public bool IsMe(string playerId) => Connection.Id == playerId;
public bool CanPlayCard(Card currentCard)
{
return Hand.Any(card => card.CanBePlayedOn(currentCard));
}
}