Ejemplo n.º 1
0
    public void SetData(MJGameSettlementFinalInfo info)
    {
        //底分
        mBaseScore.text = MJGameModel.Inst.mBaseScore.ToString();
        //局数
        mPlayCount.text = MJGameModel.Inst.mPlayCount.ToString();
        //本期玩法
        //mRules.text = GetCurRules();
        //玩家信息
        if (info.totalContainr != null && info.totalContainr != null)
        {
            Dictionary <int, int> zuijiapaoshou = new Dictionary <int, int>();
            int score  = -1;
            int diapao = 0;
            for (int i = 0; i < info.totalContainr.Count; i++)
            {
                diapao = info.totalContainr[i].dianPao;
                if (diapao > score && diapao > 0)
                {
                    score = diapao;
                    zuijiapaoshou.Clear();
                    zuijiapaoshou.Add(i, i);
                }
                else if (diapao == score)
                {
                    score = diapao;
                    if (!zuijiapaoshou.ContainsKey(i))
                    {
                        zuijiapaoshou.Add(i, i);
                    }
                }
            }
            int len = mPlayers.Length;
            for (int i = 0; i < len; i++)
            {
                if (i < info.totalContainr.Count)
                {
                    mPlayers[i].gameObject.SetActive(true);
                    mPlayers[i].SetData(info.totalContainr[i], zuijiapaoshou.ContainsKey(i));
                }
                else
                {
                    mPlayers[i].gameObject.SetActive(false);
                }
            }
            mGrid.Reposition();
        }
        //最佳牌型
        InitBestCards(info.bestHu);
        //最佳牌型胡牌细节
        //    mHuType.text = MJGameModel.Inst.GetHuType(info.bestHu);

        //ZhidianSDKManaerger.Inst.CaptureScreenshot(() =>
        //{
        //    mContinueBtn.gameObject.SetActive(true);
        //    mShareBtn.gameObject.SetActive(true);
        //});
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 大结算
 /// </summary>
 /// <param name="info"></param>
 private void ServerSettlementFinal(MJGameSettlementFinalInfo info)
 {
     if (mGameSettlementFinalView == null)
     {
         mGameSettlementFinalView = GetWidget <MJGameSettlementFinalView>("Windows/Majiang/GameUI/GameSettlementFinalView", transform);
     }
     mGameSettlementFinalView.gameObject.SetActive(true);
     mGameSettlementFinalView.SetData(info);
 }
Ejemplo n.º 3
0
    /// <summary>
    /// 大结算
    /// </summary>
    /// <param name="msg"></param>
    private void OnSettlementFinal(MessageData msg)
    {
        BigSemResponse            data    = msg.Read <BigSemResponse>();
        MJGameSettlementFinalInfo bigData = new MJGameSettlementFinalInfo();

        #region  大结算 数据处理
        PlayerInfoStruct[] playerDatas = MJGameModel.Inst.mRoomPlayers;
        bigData.isEnd = true;
        float bigWinScore = -1;
        bigData.totalContainr = new List <MJGameSettlementFinalPlayerInfo>();
        for (int i = 0; i < data.bigSemList.Count; i++)
        {
            BigSemStruct singleData = data.bigSemList[i];
            MJGameSettlementFinalPlayerInfo oneBigData = new MJGameSettlementFinalPlayerInfo();
            int index = MJGameModel.Inst.mnewSeatToIndex[singleData.seatId];
            PlayerInfoStruct onePData = playerDatas[singleData.seatId];

            oneBigData.seatId   = singleData.seatId;
            oneBigData.userId   = onePData.uId;
            oneBigData.headUrl  = onePData.headUrl;
            oneBigData.nickName = onePData.nickName;

            oneBigData.score = singleData.score;
            if (oneBigData.score > bigWinScore)
            {
                bigWinScore = singleData.score;
            }
            oneBigData.winCount = singleData.winCount;
            bigData.totalContainr.Add(oneBigData);
        }
        for (int i = 0; i < bigData.totalContainr.Count; i++)
        {
            if (bigData.totalContainr[i].score == bigWinScore)
            {
                bigData.totalContainr[i].isBigwiner = true;
            }
            else
            {
                bigData.totalContainr[i].isBigwiner = false;
            }
        }
        #endregion
        mModel.mFinalSettlementInfo = bigData;
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 继续
    /// </summary>
    public void OnContinueClick()
    {
        MJGameController mMJctr = Global.Inst.GetController <MJGameController>();

        MJGameModel.Inst.ResetData();
        if (mInfo == null)//解散过后
        {
            mMJctr.ConnectedToHallServer(null);
        }
        else
        {
            MJGameSettlementFinalInfo info = MJGameModel.Inst.mFinalSettlementInfo;
            if (info != null)
            {
                if (info != null)
                {
                    mMJctr.mGameUI.ServerSettlementFinal(info);
                    CloseWidget <MJGameSettlementView>();
                    //gameObject.SetActive(false);
                    return;
                }
                else
                {
                    Global.Inst.GetController <MJGameController>().ConnectedToHallServer(null);
                }
            }
            else
            {
                //准备
                mMJctr.mGameUI.SetSelfPreShow(false);
                OptRequest req = new OptRequest();
                req.ins = eMJInstructionsType.READY;
                Global.Inst.GetController <MJGameController>().SendOptRequest(req);
                Close();
            }
        }
    }