// 界面还原 private void Reset() { for (int i = 0; i < mItemNormalList.Count; ++i) { StageBalanceItemUI item = mItemNormalList[i]; if (item != null) { item.RemoveListener(); item.Reset(); } } for (int i = 0; i < mItemExtraList.Count; ++i) { StageBalanceItemUI item = mItemExtraList[i]; if (item != null) { item.RemoveListener(); item.Reset(); } } mRes = null; mTimer = 15.0f; mLeftTimeText.text = ((int)mTimer).ToString(); mState = UIState.STATE_ORIGINAL; }
protected override void OnLoad() { mOKBtn = this.FindChild("mOkBtn"); mTitleIcon = this.FindChild("mTitleIcon"); mNormalTimesText = this.FindComponent <UILabel>("mNormalPanel/mNormalTimesText"); mExtraTimesText = this.FindComponent <UILabel>("mExtraPanel/mExtraTimesText"); mLeftTimeText = this.FindComponent <UILabel>("mLeftTimeText"); mAwardPanel = this.FindChild("mAwardPanel"); mExtraAwardPanel = this.FindChild("mExtraAwardPanel"); mNormalPanel = this.FindChild("mNormalPanel"); mExtraPanel = this.FindChild("mExtraPanel"); mAwardPanelGrid = this.FindComponent <UIGrid>("mAwardPanel/mAwardPanelGrid"); mExtraAwardPanelGrid = this.FindComponent <UIGrid>("mExtraAwardPanel/mExtraAwardPanelGrid"); mNormalEffectUI = new StageBalanceEffectUI(this.FindChild("mNormalEffectPanel")); mNormalEffectUI.onFinish = onNormalFinish; mExtraEffectUI = new StageBalanceEffectUI(this.FindChild("mExtraEffectPanel")); mExtraEffectUI.onFinish = onExtraEffecFinish; mStageBalanceItemUI = this.FindChild("Items/StageBalanceItemUI"); mStageExtraBalanceItemUI = this.FindChild("Items/StageExtraBalanceItemUI"); mNormalTimesLabel1 = this.FindComponent <UILabel>("mNormalPanel/mNormalTimesLabel1"); mExtraTimesLabel1 = this.FindComponent <UILabel>("mExtraPanel/mExtraTimesLabel1"); UIEventListener.Get(mOKBtn).onClick = OnOKBtnClicked; for (int i = 0; i < ITEM_NORMAL_COUNT; ++i) { GameObject obj = WindowManager.Instance.CloneGameObject(mStageBalanceItemUI); //ResourceManager.Instance.LoadUI("UI/stage/StageBalanceItemUI"); if (obj == null) { return; } obj.name = "NormalItem" + i.ToString(); obj.transform.parent = mAwardPanelGrid.transform; obj.transform.localScale = Vector3.one; StageBalanceItemUI item = new StageBalanceItemUI(obj); if (item == null) { return; } item.IsNormal = true; item.Idx = i; mItemNormalList.Add(item); } mAwardPanelGrid.repositionNow = true; for (int i = 0; i < ITEM_EXTRA_COUNT; ++i) { GameObject obj = WindowManager.Instance.CloneGameObject(mStageExtraBalanceItemUI); //ResourceManager.Instance.LoadUI("UI/stage/StageExtraBalanceItemUI"); if (obj == null) { return; } obj.name = "ExtraItem" + i.ToString(); obj.transform.parent = mExtraAwardPanelGrid.transform; obj.transform.localScale = Vector3.one; StageBalanceItemUI item = new StageBalanceItemUI(obj); if (item == null) { return; } item.IsNormal = false; item.Idx = i; mItemExtraList.Add(item); } mExtraAwardPanelGrid.repositionNow = true; }
public void OnExtraAwardClicked(int index) { // 翻牌次数用尽 if (mLeftExtraAwardTimes < 1) { return; } if (mRes == null) { return; } if (index < 0 || index >= mItemExtraList.Count) { return; } StageBalanceItemUI item = mItemExtraList[index]; if (item == null) { return; } // 翻过了 if (item.IsAwarded()) { return; } int idx = mRes.mExtraAwardTimes - mLeftExtraAwardTimes; if (idx < 0 || mLeftExtraAwardTimes < 0) { return; } if (mRes.mExtraAwardCostId >= 0) { if (DataManager.ConditionTable.ContainsKey(mRes.mExtraAwardCostId)) { ConditionTableItem condItem = DataManager.ConditionTable[mRes.mExtraAwardCostId] as ConditionTableItem; if (condItem != null) { // 消耗不足 if (!ConditionManager.Instance.CheckCondition(condItem.mType, condItem.mParam1, condItem.mParam2, condItem.mValue * (idx + 1))) { PopTipManager.Instance.AddNewTip(StringHelper.GetErrorString(ERROR_CODE.ERR_SCENE_PASS_FAILED_AWARD_NOCOST, FontColor.Red)); //PromptUIManager.Instance.AddNewPrompt(StringHelper.GetErrorString(ERROR_CODE.ERR_SCENE_PASS_FAILED_AWARD_NOCOST)); return; } } } } role_dropaward drop = StageDataManager.Instance.GetExtraRandomAward(idx); if (drop == null) { return; } if (drop.drop_id_type == 1) { item.Award(ConditionManager.Instance.GetConditionIcon(ConditionType.ITEM, drop.drop_id, -1), ConditionManager.Instance.GetConditionText(ConditionType.ITEM, drop.drop_id, -1, drop.drop_num)); } else { item.Award(ConditionManager.Instance.GetConditionIcon(drop.drop_id), ConditionManager.Instance.GetConditionText(drop.drop_id)); } //mExtraAwardsList.RemoveAt(0); mLeftExtraAwardTimes--; UpdateExtraAwardTimes(); }