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); }
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); }
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); }
private bool CanUseUpgraderLevel() { TUpgrade tUpgrade = (TUpgrade)myUpgradeItems[curItem].Template; if (XpManager.Instance.GetLevel(MyInfoManager.Instance.Xp) < tUpgrade.playerLv) { return(false); } return(true); }
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); }
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); }
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); }
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); }
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); }