private List <PlayerData> FromRecorder(SRMsgHandRecorder recorder) { var players = recorder.players; var playerDatas = new List <PlayerData>(); foreach (var player in players) { var pd = new PlayerData() { UserId = player.userID, ChairId = player.chairID, MyWindow = _myWindow }; playerDatas.Add(pd); } foreach (var dealDetail in recorder.deals) { var pd = playerDatas.Find((x) => x.ChairId == dealDetail.chairID); pd.Deal = dealDetail; } foreach (var pd in playerDatas) { var actions = recorder.actions.Where((x) => x.chairID == pd.ChairId).ToList(); pd.Actions = actions; } return(playerDatas); }
private string ExtractDrawSequence(SRMsgHandRecorder recorder) { var drawActions = recorder.actions.Where((x) => x.action == (int)ActionType.enumActionType_DRAW); var sb = new StringBuilder(); foreach (var drawAction in drawActions) { foreach (var tile in drawAction.tiles) { if (tile < (int)TileID.enumTid_MAX) { sb.Append(_myWindow.IdNames[tile]); sb.Append(","); } } } drawActions = recorder.actions.Where((x) => x.action == (int)ActionType.enumActionType_CustomA); foreach (var drawAction in drawActions) { foreach (var tile in drawAction.tiles) { if (tile < (int)TileID.enumTid_MAX) { sb.Append(_myWindow.IdNames[tile]); sb.Append(","); } } } return(sb.ToString()); }