/// <summary> /// 轮到下一个玩家表态 /// </summary> private void MoveToNextSeat(decimal amount, bool isLook, int playerId, EChipinType chipinType = EChipinType.Nothing) { lock (this) { PreSeatAmount = amount; if (chipinType != EChipinType.GaveUp) { CurrentSeat.PreChipInAmount = amount; CurrentSeat.PreChipType = chipinType; AddCurrentTotal(amount); } Seat tempSeat = CurrentSeat; do { tempSeat = GetNextJoinSeat(tempSeat); } while (tempSeat.IsGaveUp); CurrentSeat = tempSeat; PreSeatIsLook = isLook; if (CurrentSeat == FirstSeat) { CurrentTurn++; } if (CurrentTurn > DefaultTurnCount) { NotifyRoomPlayers(WebscoketSendObjs.RoomMessage(0, "超过最大轮次,自动比牌")); CompareAll(); } if (JoinSeats.Where(s => s.IsGaveUp == false).Count() == 1) { CompareAll(); } } CheckDateTime = DateTime.Now; NotifyRoomPlayers(new ChipinAnimation(0, amount, playerId, chipinType)); NotifyRoomPlayers(new FreshGameFace(0)); }