Exemplo n.º 1
0
        // 解析游戏刚开始时 服务端发送过来的好牌历史纪录
        public void ParseCardRecordInGameInfo(string[] records)
        {
            // ReSharper disable once ForCanBeConvertedToForeach
            var recordLen = records.Length;

            for (var i = 0; i < recordLen; i++)
            {
                var words = records[i];
                //19-01-17 17:10,皇家同花顺,1000000,28660,michaelADQ
                var infos = words.Split(',');
                if (infos.Length < 5)
                {
                    continue;
                }
                var time = infos[0];
                var type = infos[1];
                //var ante = infos[2];
                //var coin = infos[3];
                //var nick = infos[4];
                var cardRecord = new CardRecord
                {
                    TypeName = type,
                    TypeTime = time
                };
                _mCardRecord.Add(cardRecord);
            }
        }
Exemplo n.º 2
0
        public void ParseData(ISFSObject temp)
        {
            _cardTeamList.Clear();

            var sfArray = temp.GetSFSArray("data");
            var count   = sfArray.Size();

            for (var i = 0; i < count; i++)
            {
                var team = new CardTeam();
                team.ParseData(sfArray.GetSFSObject(i));
                _cardTeamList.Add(team);

                // 好牌记录 统计葫芦以上的牌型
                if (team.type >= mGoodCardMinType)
                {
                    // 如果该组牌为好牌 记录下来
                    var cardRecord = new CardRecord
                    {
                        Type     = team.type,
                        TypeName = team.typeName,
                        TypeTime = System.DateTime.Now.ToString("yy-MM-dd HH:mm")
                    };
                    _mCardRecord.Insert(0, cardRecord);

                    if (20 < _mCardRecord.Count)
                    {
                        _mCardRecord.RemoveAt(_mCardRecord.Count - 1);
                    }
                    Facade.EventCenter.DispatchEvent <ESlyzEventType, object>(ESlyzEventType.FreshRecord, null);
                }

                // 数据统计 统计获奖牌型出现次数
                if (mAcountCardMinType <= team.type)
                {
                    var bIsFound = false;
                    var len      = mCardStatistics.Count;
                    for (var j = 0; j < len; j++)
                    {
                        if (team.type == mCardStatistics[j].Type)
                        {
                            bIsFound = true;
                            mCardStatistics[j].TypeCount += 1;
                            break;
                        }
                    }
                    if (bIsFound == false)
                    {
                        // 列表里没有的牌型 新建对象 并找到位置插入列表
                        var cardStatistics = new CardStatistics
                        {
                            Type      = team.type,
                            TypeName  = team.typeName,
                            TypeCount = 1
                        };
                        int iFindPos = 0, iLen = mCardStatistics.Count;
                        for (var m = 0; m < iLen; m++)
                        {
                            if (mCardStatistics[m].Type < cardStatistics.Type)
                            {
                                iFindPos = m;
                                break;
                            }
                        }
                        mCardStatistics.Insert(iFindPos, cardStatistics);
                    }
                }
            }
        }