예제 #1
0
    // 界面还原
    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;
    }
예제 #2
0
    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;
    }
예제 #3
0
    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();
    }