/// <summary> /// 刷新关卡详细信息 /// </summary> /// <param name="index"></param> private void RefreshDetailsBySelectedFloor() { if (mSelectFloor < 1 || mSelectFloor > PlayerChallengeData.MAX_FLOOR_COUNT) { return; } int index = mSelectFloor - 1; if (index >= 0 && index < mChallengeBtn.Count) { mChallengeBtn[index].UpdateData(mChalModule.GetChallengeState(mChallengeBtn[index].mFloorID), mChalModule.IsGainAchievement(mChallengeBtn[index].mFloorID, 0), mChalModule.IsGainAchievement(mChallengeBtn[index].mFloorID, 1), mChalModule.IsGainAchievement(mChallengeBtn[index].mFloorID, 2)); } int recom_battlescore; int fight; if (mChalModule.IsBattleGradeEnough(mSelectFloor, out recom_battlescore, out fight)) { mLabelMyFight.text = string.Format(StringHelper.GetString("yellow"), fight.ToString()); mLabelMyFightTxt.text = string.Format(StringHelper.GetString("yellow"), StringHelper.GetString("mybattlescore")); } else { mLabelMyFight.text = string.Format(StringHelper.GetString("red"), fight.ToString()); mLabelMyFightTxt.text = string.Format(StringHelper.GetString("red"), StringHelper.GetString("mybattlescore")); } mLabelRecomFight.text = recom_battlescore.ToString(); switch (mChalModule.GetChallengeState(mSelectFloor)) { case ChallengeState.Passed: mLabelState.text = string.Format(StringHelper.GetString("getscore"), mChalModule.GetFloorScore(mSelectFloor)); break; case ChallengeState.NoPass: mLabelState.text = StringHelper.GetString("notchallenge"); break; case ChallengeState.Never: mLabelState.text = StringHelper.GetString("neverchallenge"); break; case ChallengeState.Current: mLabelState.text = StringHelper.GetString("challenging"); break; } //判断获得的成就 //RefreshAchieveMent(mSelectFloor); //刷新掉落 //首次掉落 if (mFirstAwardItem != null) { GameObject.Destroy(mFirstAwardItem.gameObject); mFirstAwardItem = null; } if (mNormalAwardItem != null) { GameObject.Destroy(mNormalAwardItem.gameObject); mNormalAwardItem = null; } var ctt = DataManager.ChallengeTable[mSelectFloor] as ChallengeTableItem; if (ctt.mFirstAwardItemId >= 0) { mFirstDrop.SetActive(true); mFirstAwardItem = new CommonItemUI(ctt.mFirstAwardItemId); mFirstAwardItem.gameObject.transform.parent = mFirstDrop.transform; mFirstAwardItem.gameObject.transform.localScale = Vector3.one; mFirstAwardItem.gameObject.transform.localPosition = Vector3.zero; } else { mFirstDrop.SetActive(false); } //普通通关奖励 if (ctt.mEveryDayAwardItemId >= 0) { mNormalDrop.SetActive(true); mNormalAwardItem = new CommonItemUI(ctt.mEveryDayAwardItemId); mNormalAwardItem.gameObject.transform.parent = mNormalDrop.transform; mNormalAwardItem.gameObject.transform.localScale = Vector3.one; mNormalAwardItem.gameObject.transform.localPosition = Vector3.zero; } else { mNormalDrop.SetActive(false); } mGridDrop.Reposition(); if (mChalModule.IsCanChallenge(mSelectFloor)) { //当前层 if (mChalModule.GetCurFloor() == mSelectFloor) { mButtonOk.gameObject.SetActive(true); mButtonBack.gameObject.SetActive(false); mButtonDoAgain.gameObject.SetActive(false); } //已经通关的层 if (mChalModule.GetCurFloor() > mSelectFloor) { mButtonOk.gameObject.SetActive(false); mButtonBack.gameObject.SetActive(true); mButtonDoAgain.gameObject.SetActive(true); } } else { //能继续挑战 if (mChalModule.IsCanContinue()) { mButtonBack.gameObject.SetActive(true); } else { mButtonBack.gameObject.SetActive(false); } mButtonOk.gameObject.SetActive(false); mButtonDoAgain.gameObject.SetActive(false); } //当前关卡,并且扫荡功能开启 if (mChalModule.IsSweepByFloorID(mSelectFloor)) { mButtonSweep.gameObject.SetActive(true); } else { mButtonSweep.gameObject.SetActive(false); } mBtnGrid.Reposition(); var ct = DataManager.ChallengeTable[mSelectFloor] as ChallengeTableItem; mLabelScrib.text = ct.mTip; //本周积分 mLabelWeekScore.text = mChalModule.GetWeekScore().ToString(); int indexLeft = index - 2 >= 0 ? index - 2 : 0; int indexRight = index + 2 <= mChallengeBtn.Count - 1 ? index + 2 : mChallengeBtn.Count - 1; var leftSide = mChallengeBtn[indexLeft].mGameObject.transform; var rightSide = mChallengeBtn[indexRight].mGameObject.transform; mScrolV.GetComponent <UIFCenterOnChild>().CenterOn( mChallengeBtn[mSelectFloor - 1].mGameObject.transform, leftSide, rightSide); }