Пример #1
0
        /// <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]);
            }
        }
Пример #2
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);
                }
            }
        }
Пример #3
0
        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);
        }