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));
        }