/* methods */ /// <summary> /// 初始化 /// </summary> /// <param name="card">主卡片</param> /// <param name="attrAddInfo">附加属性信息对象</param> /// <param name="closeCallback">关闭回调方法</param> public void Initialize(Card card, AttrAddInfo attrAddInfo, CallBack continueCallback) { this.card = card; this.continueCallback = continueCallback; cardAttrContent.Initialize(this, card); cardAttrContent.gameObject.SetActive(true); cardAttrUpContent.Initialize(card, attrAddInfo); }
/// <summary> /// 更新属性升级条目 /// </summary> /// <param name="attrAddInfo"></param> public void updateAttrLevelUpItem(Card card, AttrAddInfo attrAddInfo) { if (card == null || attrAddInfo == null) { return; } updateActiveByAll(false); int index = 0; bool isUpLevel = false; if (attrAddInfo.HpExp > 0) { int oldHpAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.OldHpGrade, AttributeType.hp); int hpAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.HpGrade, AttributeType.hp); isUpLevel = items[index].updateAttributes(index, AttrChangeType.HP, attrAddInfo.oldHpExp, card.getHPExp(), oldHpAttr, hpAttr); index++; } if (attrAddInfo.AttExp > 0) { int oldAttAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.OldAttGrade, AttributeType.attack); int attAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.AttGrade, AttributeType.attack); isUpLevel = items[index].updateAttributes(index, AttrChangeType.ATTACK, attrAddInfo.oldAttExp, card.getATTExp(), oldAttAttr, attAttr); index++; } if (attrAddInfo.DefExp > 0) { int oldDefAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.OldDefGrade, AttributeType.defecse); int defAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.DefGrade, AttributeType.defecse); isUpLevel = items[index].updateAttributes(index, AttrChangeType.DEFENSE, attrAddInfo.oldDefExp, card.getDEFExp(), oldDefAttr, defAttr); index++; } if (attrAddInfo.MagExp > 0) { int oldMagAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.OldMagGrade, AttributeType.magic); int magAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.MagGrade, AttributeType.magic); isUpLevel = items[index].updateAttributes(index, AttrChangeType.MAGIC, attrAddInfo.oldMagExp, card.getMAGICExp(), oldMagAttr, magAttr); index++; } if (attrAddInfo.DexExp > 0) { int oldDexAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.OldDexGrade, AttributeType.agile); int dexAttr = CardManagerment.Instance.getCardAppendAttr(attrAddInfo.DexGrade, AttributeType.agile); isUpLevel = items[index].updateAttributes(index, AttrChangeType.AGILE, attrAddInfo.oldDexExp, card.getAGILEExp(), oldDexAttr, dexAttr); index++; } isShowPrizeUpdate = true; if (isUpLevel) { waitShowPrizeTime = 1.5f; } }
/* methods */ /// <summary> /// 初始化 /// </summary> /// <param name="role">卡片</param> public void Initialize(Card card, AttrAddInfo attrAddInfo) { updateAttrLevelUpItem(card, attrAddInfo); }
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(); } }