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); }
private void OnDontBeliveMoveMade(OnDontBeliveMoveMadeParams @params) { if (@params == null) { return; } var mover = GameTable.Players.FirstOrDefault(p => p.Player.Id == @params.MoverId); if (mover == null || mover.Player.Id == _stateService.GetSavedPlayer().Id) { return; } var nextMover = GameTable.Players.FirstOrDefault(p => p.Player.Id == @params.NextMoverId); if (nextMover == null) { return; } var move = new DontBeliveMove(mover.Player) { SelectedCard = new PlayingCard() { Id = @params.CheckedCard.Id, Rank = (PlayingCardRank)@params.CheckedCard.Rank, Suit = (PlayingCardSuit)@params.CheckedCard.Suit } }; if (@params.LoserId == _stateService.GetSavedPlayer().Id) { GameTable.MakeDontBeliveMove(move, @params.NextMoverId, @params.LoserId, @params.TakedLoserCards.Select(c => new PlayingCard() { Id = c.Id, Rank = (PlayingCardRank)c.Rank, Suit = (PlayingCardSuit)c.Suit }).ToList()); } else { GameTable.MakeDontBeliveMove(move, @params.NextMoverId, @params.LoserId, @params.HiddenTakedLoserCards.Select(c => new PlayingCard() { Id = c }).ToList()); } GameTable.SetNextPossibleMoves(@params.NextPossibleMoves); }
public void MakeDontBeliveMove(DontBeliveMove move, Guid?nextMoverId, Guid loserId, IReadOnlyCollection <PlayingCard> takedLoserCards) { var loser = Players.FirstOrDefault(p => p.Player.Id == loserId); loser.PlayingCards.AddRange(takedLoserCards); CurrentRound.AddMove(move); CurrentRound.End(loser.Player); if (nextMoverId.HasValue) { NextRound(); CurrentMover = Players.First(p => p.Player.Id == nextMoverId).Player; } else { End(loser); } }
public void MakeDontBeliveMove(DontBeliveMove move, Player nextMover) { }