Exemple #1
0
    private bool CanUseUpgradable()
    {
        TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;
        int      num      = 0;
        int      num2     = 13;

        for (int i = 0; i < num2; i++)
        {
            if (UpgradePropManager.Instance.UseProp((int)upgradee.Template.upgradeCategory, i))
            {
                num++;
            }
        }
        int num3 = 0;

        for (int j = 0; j < num2; j++)
        {
            if (upgradee.upgradeProps[j].use && upgradee.upgradeProps[j].grade >= tUpgrade.maxLv)
            {
                num3++;
            }
        }
        if (num == num3)
        {
            return(false);
        }
        return(true);
    }
Exemple #2
0
    private string CanUseUpgrader(TUpgrade upItem)
    {
        int num  = 0;
        int num2 = 13;

        for (int i = 0; i < num2; i++)
        {
            if (UpgradePropManager.Instance.UseProp((int)upgradee.Template.upgradeCategory, i))
            {
                num++;
            }
        }
        int num3 = 0;

        for (int j = 0; j < num2; j++)
        {
            if (upgradee.upgradeProps[j].use && upgradee.upgradeProps[j].grade == upItem.maxLv)
            {
                num3++;
            }
        }
        if (num == num3)
        {
            return(StringMgr.Instance.Get("NOT_PROCCESS_UPGRADE_THIS"));
        }
        if (XpManager.Instance.GetLevel(MyInfoManager.Instance.Xp) < upItem.playerLv)
        {
            string rank = XpManager.Instance.GetRank(upItem.playerLv, -1);
            return(string.Format(StringMgr.Instance.Get("UPGRADE_GEM_IS_POSSIBLE_FROM"), rank));
        }
        return(string.Empty);
    }
Exemple #3
0
    private bool CanUseUpgraderLevel(int propIndex)
    {
        if (curItem < 0 || curItem >= myUpgradeItems.Length)
        {
            return(false);
        }
        TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;

        return(upgradee.upgradeProps[propIndex].grade < tUpgrade.maxLv);
    }
Exemple #4
0
    private bool CanUseUpgraderLevel()
    {
        TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;

        if (XpManager.Instance.GetLevel(MyInfoManager.Instance.Xp) < tUpgrade.playerLv)
        {
            return(false);
        }
        return(true);
    }
Exemple #5
0
    private bool IsEqualType()
    {
        if (curItem < 0)
        {
            return(false);
        }
        if (myUpgradeItems.Length == 0)
        {
            return(false);
        }
        TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;

        return((upgradee.Template.upgradeType == tUpgrade.targetType) ? true : false);
    }
Exemple #6
0
    private bool CanUpgradeXpNLv()
    {
        TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;

        if (tUpgrade.tier < 0)
        {
            int selectedProp = getSelectedProp();
            if (selectedProp < 0)
            {
                MessageBoxMgr.Instance.AddMessage(StringMgr.Instance.Get("NO_SELECT_PROP"));
                return(false);
            }
            return(true);
        }
        return(true);
    }
Exemple #7
0
 private bool IsEnableUpgradeButton()
 {
     if (myUpgradeItems.Length == 0)
     {
         strErr = StringMgr.Instance.Get("BUY_UPGRADER_ITEM");
         return(false);
     }
     if (0 > curItem || curItem >= myUpgradeItems.Length)
     {
         return(false);
     }
     if (!myUpgradeItems[curItem].IsAmount || !myUpgradeItems[curItem].EnoughToConsume)
     {
         strErr = StringMgr.Instance.Get("SELECT_CORRECT_UPGRADER");
         return(false);
     }
     if (!IsEqualType())
     {
         strErr = StringMgr.Instance.Get("SELECT_CORRECT_UPGRADER");
         return(false);
     }
     if (!CanUseUpgraderLevel())
     {
         TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;
         string   rank     = XpManager.Instance.GetRank(tUpgrade.playerLv, -1);
         strErr = string.Format(StringMgr.Instance.Get("UPGRADE_GEM_IS_POSSIBLE_FROM"), rank);
         return(false);
     }
     if (!CanUseUpgradable())
     {
         strErr = StringMgr.Instance.Get("SELECT_CORRECT_UPGRADER");
         return(false);
     }
     if (strErr.Length > 0)
     {
         return(false);
     }
     return(true);
 }
Exemple #8
0
    private string GetDoctorText()
    {
        if (curItem >= 0 || upgradeState == UPGRADE_STATE.NONE)
        {
            switch (upgradeState)
            {
            case UPGRADE_STATE.NONE:
                return(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR1"));

            case UPGRADE_STATE.SELECT:
            {
                TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template;
                if (tUpgrade.tier < 0)
                {
                    return(string.Format(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR3"), StringMgr.Instance.Get(tUpgrade.name)));
                }
                return(string.Format(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR2"), StringMgr.Instance.Get(tUpgrade.name)));
            }

            case UPGRADE_STATE.GAUGE_RISE:
            case UPGRADE_STATE.GAUGE_PROGRESS:
            case UPGRADE_STATE.WAIT:
            case UPGRADE_STATE.GAUGE_END:
                return(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR4"));

            case UPGRADE_STATE.EFFECT:
            case UPGRADE_STATE.GAUGE_DESCEND:
                if (isGagueUp)
                {
                    return(string.Format(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR5"), StringMgr.Instance.Get(UpgradePropNames[successUpgradePropID])));
                }
                return(StringMgr.Instance.Get("ITEMUPGRADE_DOCTOR6"));

            default:
                return(string.Empty);
            }
        }
        return(string.Empty);
    }
Exemple #9
0
    public override bool DoDialog()
    {
        bool result = false;

        TextureUtil.DrawTexture(new Rect(0f, 0f, (float)texUpgradeBG.width, (float)texUpgradeBG.height), texUpgradeBG);
        bubbleEffect.Draw();
        myUpgradeItems = MyInfoManager.Instance.GetItemsByCat(0, 7, 0);
        RemoveNotUseItem();
        DoDoctorText();
        DoEnergyTank();
        Vector2 pos = new Vector2(size.x / 2f, 15f);

        LabelUtil.TextOut(pos, StringMgr.Instance.Get("ITEM_UPGRADE").ToUpper(), "BigLabel", txtMainClr, GlobalVars.txtEmptyColor, TextAnchor.UpperCenter);
        TItem template = upgradee.Template;

        DoItem(crdPanelItem, upgradee);
        if (strErr.Length > 0)
        {
            float x = crdPanelUpgrade.x + crdPanelUpgrade.width / 2f - 90f;
            float y = crdPanelUpgrade.y + crdPanelUpgrade.height / 2f - 30f;
            GUI.Label(new Rect(x, y, 210f, 60f), strErr, "MiniLabel");
        }
        else if (curTier >= 0)
        {
            TextureUtil.DrawTexture(new Rect(734f, 143f, 90f, 90f), texQuestion, ScaleMode.StretchToFill);
        }
        else
        {
            UpgradeSelector((int)template.upgradeCategory);
        }
        if (bProgess)
        {
            if (upgradeState == UPGRADE_STATE.GAUGE_RISE)
            {
                GUI.enabled = false;
            }
            if (GlobalVars.Instance.MyButton(crdBtnUpgrade, string.Empty, "UpgradeCancel") || GlobalVars.Instance.IsEscapePressed())
            {
                GlobalVars.Instance.StopSound();
                AutoFunctionManager.Instance.DeleteAllAutoFunction();
                EffectEnd();
                bProgess = false;
                MessageBoxMgr.Instance.AddMessage(StringMgr.Instance.Get("ITEMUPGRADE_CANCELED"));
            }
            if (upgradeState == UPGRADE_STATE.GAUGE_RISE)
            {
                GUI.enabled = true;
            }
        }
        else
        {
            if (!IsEnableUpgradeButton() || upgradeState >= UPGRADE_STATE.WAIT)
            {
                GUI.enabled = false;
            }
            if (GlobalVars.Instance.MyButton(crdBtnUpgrade, string.Empty, "UpgradeStart") && CanUpgradeXpNLv())
            {
                StartUpgrade();
                bProgess = true;
            }
            if (!IsEnableUpgradeButton() || upgradeState >= UPGRADE_STATE.WAIT)
            {
                GUI.enabled = true;
            }
        }
        int num = myUpgradeItems.Length;

        if (num > 0)
        {
            int num2 = 4;
            int num3 = num / num2;
            if (num % num2 > 0)
            {
                num3++;
            }
            float num4 = crdItem.x * (float)num2;
            if (num2 > 1)
            {
                num4 += (float)((num2 - 1) * 2);
            }
            float num5 = crdItem.y * (float)num3;
            if (num3 > 1)
            {
                num5 += (float)((num3 - 1) * 4);
            }
            Rect position = new Rect(crdItemStart.x, crdItemStart.y, crdItem.x, crdItem.y);
            scrollPosition = GUI.BeginScrollView(viewRect: new Rect(crdItemStart.x, crdItemStart.y, crdItemSlotList.width - 20f, num5), position: crdItemSlotList, scrollPosition: scrollPosition, alwaysShowHorizontal: false, alwaysShowVertical: false);
            int num6 = 0;
            int num7 = 0;
            while (num6 < num && num7 < num3)
            {
                position.y = crdItemStart.y + (float)num7 * crdItem.y;
                int num8 = 0;
                while (num6 < num && num8 < num2)
                {
                    position.x = crdItemStart.x + (float)num8 * (crdItem.x + 2f);
                    GUI.BeginGroup(position);
                    TItem  template2 = myUpgradeItems[num6].Template;
                    string str       = "BtnItem";
                    if (template2.season == 2)
                    {
                        str = "BtnItem2";
                    }
                    if (GlobalVars.Instance.MyButton(crdItemBtn, new GUIContent(string.Empty, myUpgradeItems[num6].Seq.ToString()), str))
                    {
                        if (upgradeState == UPGRADE_STATE.NONE)
                        {
                            upgradeState = UPGRADE_STATE.SELECT;
                        }
                        strErr  = string.Empty;
                        curItem = num6;
                    }
                    if (tooltip.ItemSeq == myUpgradeItems[num6].Seq.ToString())
                    {
                        if (position.x < 400f)
                        {
                            ltTooltip = new Vector2(position.x + position.width + 5f, position.y);
                        }
                        else
                        {
                            ltTooltip = new Vector2(position.x - tooltip.size.x - 5f, position.y);
                        }
                    }
                    LabelUtil.TextOut(crdItemName, template2.Name, "MiniLabel", txtMainClr, GlobalVars.txtEmptyColor, TextAnchor.UpperLeft);
                    DrawItemIcon(crdIcon: new Rect(crdItemBtn.x + 4f, crdItemBtn.y + 13f, (float)(int)((float)template2.CurIcon().width * 0.9f), (float)(int)((float)template2.CurIcon().height * 0.9f)), item: myUpgradeItems[num6]);
                    LabelUtil.TextOut(crdRemain, myUpgradeItems[num6].GetRemainString(), "MiniLabel", Color.white, GlobalVars.txtEmptyColor, TextAnchor.MiddleRight);
                    if (num6 == curItem)
                    {
                        TUpgrade tUpgrade = (TUpgrade)template2;
                        curTier = tUpgrade.tier;
                        GUI.Box(new Rect(crdItemBtn.x - 3f, crdItemBtn.y - 3f, crdItemBtn.width + 6f, crdItemBtn.height + 6f), string.Empty, "BtnItemF");
                        if (strErr == string.Empty)
                        {
                            strErr = CanUseUpgrader(tUpgrade);
                        }
                    }
                    GUI.EndGroup();
                    num6++;
                    num8++;
                }
                num7++;
            }
            GUI.EndScrollView();
        }
        else
        {
            float x2 = crdUpgradeItemListBg.x + crdUpgradeItemListBg.width / 2f;
            float y2 = crdUpgradeItemListBg.y + crdUpgradeItemListBg.height / 2f;
            LabelUtil.TextOut(new Vector2(x2, y2), StringMgr.Instance.Get("NOTHING_UPGRADER"), "BigLabel", Color.white, GlobalVars.txtEmptyColor, TextAnchor.MiddleCenter);
        }
        Rect rc = new Rect(size.x - 50f, 10f, 34f, 34f);

        if (GlobalVars.Instance.MyButton(rc, string.Empty, "BtnClose") || GlobalVars.Instance.IsEscapePressed())
        {
            bProgess = false;
            result   = true;
            GlobalVars.Instance.StopSound();
            GlobalVars.Instance.PlayOneShot(GlobalVars.Instance.sndButtonClick);
            AutoFunctionManager.Instance.DeleteAllAutoFunction();
        }
        DoTooltip(new Vector2(base.rc.x, base.rc.y));
        DoGagueEffect();
        if (!ContextMenuManager.Instance.IsPopup)
        {
            WindowUtil.EatEvent();
        }
        return(result);
    }