/// <summary> /// 将数据加入到战绩中 /// </summary> /// <param name="data">传入的数据</param> public void GetHistoryInfo(ISFSObject data) { if (_curHistoryItemInfo.RoundVal <= 0) { return; } ISFSArray dataArray = data.GetSFSArray("players"); foreach (ISFSObject item in dataArray) { //没有参与的玩家不用处理 if (!item.GetBool("isPlayed")) { continue; } int seat = item.GetInt("seat"); List <HistoryUserInfo> hisUsers = _curHistoryItemInfo.Users; for (int i = 0; i < hisUsers.Count; i++) { HistoryUserInfo tempUser = hisUsers[i]; if (tempUser.Seat != seat) { continue; } tempUser.IsFold = item.GetBool("isGiveUp"); tempUser.Score = item.GetInt("gold"); tempUser.Pokers = ToList(item.GetIntArray("cardArr")); if (item.ContainsKey("teax")) { tempUser.PokerType = item.GetSFSObject("teax").GetInt("type"); } else { tempUser.PokerType = 0; } hisUsers[i] = tempUser; } _curHistoryItemInfo.PublicPokers = GetPublicPokerVal(); } HistoryList.Add(_curHistoryItemInfo); //调整存储的个数 if (MaxCount == 0) //如果是0,则不限制个数 { return; } while (HistoryList.Count > MaxCount) { HistoryList.Remove(HistoryList[0]); } }
public void CreateHistoryItem(ISFSObject data) { var gdata = App.GetGameData <TexasGameData>(); _curHistoryItemInfo = new HistoryItemInfo { Users = new List <HistoryUserInfo>(), RoundVal = gdata.CurRound }; var playerList = gdata.PlayerList; foreach (var player in playerList) { if (!player.ReadyState) { continue; } var userInfo = player.Info; if (userInfo != null) { var hui = new HistoryUserInfo { Seat = userInfo.Seat, UserInfo = userInfo, }; _curHistoryItemInfo.Users.Add(hui); } } }
public void InitUser(HistoryUserInfo historyUserInfo) { var user = historyUserInfo.UserInfo; PortraitDb.SetPortrait(user.AvatarX, _headImage, user.SexI); _nameLabel.text = user.NickM; SetScoreLabel(_scoreLabel, historyUserInfo.Score); //设置输赢分数 SetUserPokers(historyUserInfo.IsFold, historyUserInfo.Pokers); //设置玩家手牌信息 //设置玩家牌型或弃牌图片 SetTypeSprite(historyUserInfo.IsFold ? "ct_Fold" : ((PokerType)historyUserInfo.PokerType).ToString()); _typeSpr.MakePixelPerfect(); gameObject.SetActive(true); }