public void recalculateAddonNumber() { attrAddInfo.clear(); List <Card> cards = IntensifyCardManager.Instance.getFoodCard(); if (cards != null) { foreach (Card item in cards) { //计算附加经验 attrAddInfo.HpExp += item.getHPExp(); attrAddInfo.AttExp += item.getATTExp(); attrAddInfo.DefExp += item.getDEFExp(); attrAddInfo.MagExp += item.getMAGICExp(); attrAddInfo.DexExp += item.getAGILEExp(); } } //附加属性统计 Card mainCard = IntensifyCardManager.Instance.getMainCard(); if (mainCard != null) { // 附加前的等级 attrAddInfo.OldHpGrade = mainCard.getHPGrade(); attrAddInfo.OldAttGrade = mainCard.getATTGrade(); attrAddInfo.OldDefGrade = mainCard.getDEFGrade(); attrAddInfo.OldMagGrade = mainCard.getMAGICGrade(); attrAddInfo.OldDexGrade = mainCard.getAGILEGrade(); attrAddInfo.oldHpExp = mainCard.getHPExp(); attrAddInfo.oldAttExp = mainCard.getATTExp(); attrAddInfo.oldDefExp = mainCard.getDEFExp(); attrAddInfo.oldMagExp = mainCard.getMAGICExp(); attrAddInfo.oldDexExp = mainCard.getAGILEExp(); // 附加后的等级 int tmpHpGrade = Card.getAttrAddGrade(attrAddInfo.HpExp + mainCard.getHPExp()); int tmpAttGrade = Card.getAttrAddGrade(attrAddInfo.AttExp + mainCard.getATTExp()); int tmpDefGrade = Card.getAttrAddGrade(attrAddInfo.DefExp + mainCard.getDEFExp()); int tmpMagGrade = Card.getAttrAddGrade(attrAddInfo.MagExp + mainCard.getMAGICExp()); int tmpDexGrade = Card.getAttrAddGrade(attrAddInfo.DexExp + mainCard.getAGILEExp()); // 增加的附加等级 attrAddInfo.HpGrade = tmpHpGrade - attrAddInfo.OldHpGrade; attrAddInfo.AttGrade = tmpAttGrade - attrAddInfo.OldAttGrade; attrAddInfo.DefGrade = tmpDefGrade - attrAddInfo.OldDefGrade; attrAddInfo.MagGrade = tmpMagGrade - attrAddInfo.OldMagGrade; attrAddInfo.DexGrade = tmpDexGrade - attrAddInfo.OldDexGrade; setIncBarActive(true); // 更新滚动条 UpdateHpIncbarCtrl(); UpdateAttIncbarCtrl(); UpdateDefIncbarCtrl(); UpdateMagIncbarCtrl(); UpdateDexIncbarCtrl(); } else { setIncBarActive(false); } updateInfo(); }
public void intensify() { Card tmpMainCard = IntensifyCardManager.Instance.getMainCard(); AttrAddInfo tempAttrAddinfo = new AttrAddInfo(); tempAttrAddinfo.clear(); List <Card> tmpFoodCards = IntensifyCardManager.Instance.getFoodCard(); if (tmpFoodCards != null) { foreach (Card item in tmpFoodCards) { //计算附加经验 tempAttrAddinfo.HpExp += item.getHPExp(); tempAttrAddinfo.AttExp += item.getATTExp(); tempAttrAddinfo.DefExp += item.getDEFExp(); tempAttrAddinfo.MagExp += item.getMAGICExp(); tempAttrAddinfo.DexExp += item.getAGILEExp(); } } if (tmpMainCard != null) { isHaveMaxLv = null; int maxlv = EXPSampleManager.Instance.getMaxLevel(EXPSampleManager.SID_USER_ATTR_ADD_EXP) - 1; if (tempAttrAddinfo.HpExp > 0 && tmpMainCard.getHPExp() >= EXPSampleManager.Instance.getMaxExp(EXPSampleManager.SID_USER_ATTR_ADD_EXP)) { isHaveMaxLv = Language("Intensify_Addon_Err01", maxlv.ToString()); } else if (tempAttrAddinfo.AttExp > 0 && tmpMainCard.getATTExp() >= EXPSampleManager.Instance.getMaxExp(EXPSampleManager.SID_USER_ATTR_ADD_EXP)) { isHaveMaxLv = Language("Intensify_Addon_Err02", maxlv.ToString()); } else if (tempAttrAddinfo.DefExp > 0 && tmpMainCard.getDEFExp() >= EXPSampleManager.Instance.getMaxExp(EXPSampleManager.SID_USER_ATTR_ADD_EXP)) { isHaveMaxLv = Language("Intensify_Addon_Err03", maxlv.ToString()); } else if (tempAttrAddinfo.MagExp > 0 && tmpMainCard.getMAGICExp() >= EXPSampleManager.Instance.getMaxExp(EXPSampleManager.SID_USER_ATTR_ADD_EXP)) { isHaveMaxLv = Language("Intensify_Addon_Err04", maxlv.ToString()); } else if (tempAttrAddinfo.DexExp > 0 && tmpMainCard.getAGILEExp() >= EXPSampleManager.Instance.getMaxExp(EXPSampleManager.SID_USER_ATTR_ADD_EXP)) { isHaveMaxLv = Language("Intensify_Addon_Err05", maxlv.ToString()); } } else { MaskWindow.UnlockUI(); return; } CallBack cb = () => { IntensifyCardManager.Instance.addOnRestorePrize = null; win.intensifyButton.disableButton(true); win.selectFoodButton.disableButton(true); win.oneKeyButton.disableButton(true); UiManager.Instance.applyMask(); AttributeFPort aas = FPortManager.Instance.getFPort("AttributeFPort") as AttributeFPort; aas.access(sacrificeRotCtrl.mainShower.card.uid, sacrificeRotCtrl.createFoodList(), addonFinish); //(第一个参数,主卡uid,第二个参数,食物卡uid,第三个参数回调) }; if (!string.IsNullOrEmpty(isHaveMaxLv)) { UiManager.Instance.createMessageWindowByTwoButton(isHaveMaxLv, (MessageHandle msg) => { if (msg.buttonID == MessageHandle.BUTTON_LEFT) { MaskWindow.UnlockUI(); return; } cb(); }); } else { cb(); } }