private CowCowSmallSettlementInfo SetBankerInfo(Gamer g, int bankerCoin) { CowCowSmallSettlementInfo info = new CowCowSmallSettlementInfo(); info.Cards = new RepeatedField <int>(); info.SeatID = g.SeatID; info.Cards.AddRange(g.cards); info.CardsType = g.cardType; info.CowNumber = g.CowNumber; info.Multiple = g.Multiple; info.LoseWin = bankerCoin; info.BetCoin = g.Coin; return(info); }
public void SetGamerSmallSettlement(CowCowSmallSettlementInfo info) { this.banker.alpha = info.SeatID == 0 ? 1 : 0; this.gamerName.text = Game.Scene.GetComponent <UIComponent>().Get(UICowCowType.CowCowGameRoom).GetComponent <UICowCow_GameRoomComponent>().GamerComponent.Get(info.SeatID).GetComponent <UICowCow_GamerInfoComponent>().gamerName; this.bets.text = info.Multiple.ToString(); switch ((CowType)info.CardsType) { case CowType.None: this.cardType.text = "无牛"; break; case CowType.HaveCow: int num = info.CowNumber % tan; if (num == 0) { this.cardType.text = "牛牛"; } else { this.cardType.text = $"牛{num}"; } break; case CowType.FiveFlowerCow: this.cardType.text = "五花牛"; break; case CowType.BombCow: this.cardType.text = "炸弹牛"; break; case CowType.FiveSmallCow: this.cardType.text = "五小牛"; break; } this.score.text = info.LoseWin > 0 ? $"+{info.LoseWin}" : $"{info.LoseWin}"; for (int i = 0; i < this.cards.Length; i++) { this.cards[i].sprite = (Sprite)this.res.GetAsset(UICowCowAB.CowCow_Texture, CardHelper.GetCardAssetName(info.Cards[i])); } }
/// <summary> /// 小结算 /// </summary> private void SmallSettlement(Dictionary <int, Gamer> gamers, Room room) { Actor_CowCowRoomOpenCardsAndSettlement openCards = new Actor_CowCowRoomOpenCardsAndSettlement(); openCards.SmallSettlemntInfo = new RepeatedField <CowCowSmallSettlementInfo>(); int bankerCoin = 0; //计算各个玩家输赢,判断谁是庄 foreach (Gamer g in gamers.Values) { //坐下 g.Status = GamerStatus.Down; g.IsSubmitHandCards = false; if (room.CurBankerSeatID != g.SeatID) { CowCowSmallSettlementInfo info = new CowCowSmallSettlementInfo(); info.Cards = new RepeatedField <int>(); info.SeatID = g.SeatID; info.Cards.AddRange(g.cards); info.CardsType = g.cardType; info.CowNumber = g.CowNumber; info.Multiple = g.Multiple; int loseWin = CowComparisonHelper.CalculCoin(gamers[room.CurBankerSeatID], g, room.CurMultiple); g.Coin += loseWin; info.LoseWin = loseWin; bankerCoin += -loseWin; info.BetCoin = g.Coin; openCards.SmallSettlemntInfo.Add(info); } } gamers[room.CurBankerSeatID].Coin += bankerCoin; openCards.SmallSettlemntInfo.Add(SetBankerInfo(gamers[room.CurBankerSeatID], bankerCoin)); room.State = RoomState.End; room.Broadcast(openCards); }