Example #1
0
//	[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);
    }
Example #2
0
    public void Refresh(SingleSettlementInfo msg)
    {
        Initialize();
        this.mRoundMessage = msg;
        if (mRoundMessage != null)
        {
            SetVisible(true);
            UserInfo temp = null;
            if (GameMgr.Instance.isFromRecord)
            {
                temp = mUIGameModel.GetLiamUser(mRoundMessage.UserID);
            }
            else
            {
                temp = mUIGameModel.GetUser(mRoundMessage.UserID);
            }

            if (temp != null)
            {
                mZhuangIcon.gameObject.SetVisible(temp.IsZhuang);
                mOwnerIcon.gameObject.SetVisible(temp.IsOwner);
                AsyncImageDownload.Instance.SetAsyncImage(temp.HeadUrl, mHeadIcon);
            }
            mLabelName.text = mRoundMessage.Name;
            mLabelDes.text  = mRoundMessage.IsHu ? mRoundMessage.HuFlag : string.Empty;
            mCurrCardItem.Refresh(mRoundMessage.CurCard, DirectionType.bottom);
            mHandCardItem.Refresh(mRoundMessage.HandCards, DirectionType.bottom);
            if (!mRoundMessage.HandCardGroups.IsNullOrEmpty())
            {
                for (int i = 0; i < mRoundMessage.HandCardGroups.Count; i++)
                {
                    mHandCradGroupItems[i].Refresh(mRoundMessage.HandCardGroups[i].Cards, DirectionType.bottom);
                }
            }
            mLabelTotalScore.text = mRoundMessage.Scores.TryGetValue(ScoreConst.TotalScore).ToString();
            mLabelHupai.text      = mRoundMessage.Scores.TryGetValue(ScoreConst.HuScore).ToString();
            mLabelJingPai.text    = mRoundMessage.Scores.TryGetValue(ScoreConst.BaoCardScore).ToString();
            mHuSprite.gameObject.SetVisible(mRoundMessage.IsHu);
            mGunnerSprite.gameObject.SetVisible(mRoundMessage.Flag == 1);
        }
        else
        {
            SetVisible(false);
        }
    }
Example #3
0
    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);
    }