// [ProtoMember(1)] // public List<SingleSettlementInfo> SingleSettlementInfos; // // [ProtoMember(2)] // public EndType IsWinner { get; set; } // // /// <summary> 翻开的牌 </summary> // [ProtoMember(3)] // public List<Card> OpenCards { get; set; } // // /// <summary> 推导出的牌 </summary> // [ProtoMember(4)] // public List<Card> OtherCards { get; set; } GameEndActionResp GetEndResp() { GameEndActionResp endResp = new GameEndActionResp(); endResp.Type = RoundEndType.RoundEnd; endResp.SingleSettlement = new SingleSettlementResp(); endResp.SingleSettlement.SingleSettlementInfos = new List <SingleSettlementInfo> (); //判断输赢 bool isHu = false; for (int i = 0; i < responsePack.endList.Count; i++) { RoundMessageRecord roundRecord = responsePack.endList[i]; if (roundRecord.Name == mUIMainModel.PlayerInfo.NickName) { isHu = roundRecord.IsHu; } } endResp.SingleSettlement.IsWinner = isHu ? EndType.Victory : EndType.Fail; //??? 流局的怎么搞 for (int i = 0; i < responsePack.endList.Count; i++) { SingleSettlementInfo settleInfo = GetSettleInfo(responsePack.endList[i]); endResp.SingleSettlement.SingleSettlementInfos.Add(settleInfo); } return(endResp); }
SingleSettlementInfo GetSettleInfo(RoundMessageRecord record) { SingleSettlementInfo settleInfo = new SingleSettlementInfo(); //Debug.Log ("############ "+record.CurCard); settleInfo.UserID = record.UserID; settleInfo.Name = record.Name; settleInfo.IsHu = record.IsHu; // if (string.IsNullOrEmpty(record.HandCardGroups) || record.CurCard == "null") { settleInfo.HandCardGroups = null; } else { settleInfo.HandCardGroups = LitJson.JsonMapper.ToObject <List <CardGroup> >(record.HandCardGroups); } // settleInfo.HandCards = LitJson.JsonMapper.ToObject <List <Card> > (record.HandCards); // if (string.IsNullOrEmpty(record.CurCard) || record.CurCard == "null") { settleInfo.CurCard = null; } else { settleInfo.CurCard = LitJson.JsonMapper.ToObject <Card> (record.CurCard); } settleInfo.Scores = LitJson.JsonMapper.ToObject <Dictionary <string, int> > (record.Scores); settleInfo.TotalScore = record.TotalScore; settleInfo.HuFlag = record.HuFlag; settleInfo.Flag = record.Flag; return(settleInfo); }