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); //}); }
/// <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); }
/// <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; }
/// <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(); } } }