// 解析游戏刚开始时 服务端发送过来的好牌历史纪录 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); } }
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); } } } }