public void MakeFirstMove(FirstMove move, Guid nextMoverId) { if (!IsStarted || CurrentGame.CurrentMover.Id != move.Initiator.Id || CurrentGame.CanMakeMove(MoveType.FirstMove)) { return; } CurrentGame.MakeFirstMove(move, Players.First(p => p.Player.Id == nextMoverId).Player); }
public void MakeDontBeliveMove(DontBeliveMove move, Guid?nextMoverId, Guid loserId, IReadOnlyCollection <PlayingCard> takedLoserCards) { if (!IsStarted || CurrentGame.CurrentMover.Id != move.Initiator.Id || CurrentGame.CanMakeMove(MoveType.BeliveMove)) { return; } CurrentGame.MakeDontBeliveMove(move, nextMoverId, loserId, takedLoserCards); }
public bool CanMakeMove(MoveType moveType) { if (!IsStarted || IsInvalid) { return(false); } return(CurrentGame.CanMakeMove(moveType)); }