void OnStrengthBtnClick() { ItemTemplate itemT = ItemEquipInfo.GetItemRowData(); int strengthLv = ItemEquipInfo.GetStrenghLevel(); bool isFullLv = DataTemplate.GetInstance().IsRuneStrenthFullLevel(itemT, strengthLv); //已满级; if (isFullLv) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("hero_rune_tip2"), transform); return; } //费用是否足够; RunecostTemplate rt = DataTemplate.GetInstance().GetRuneCostTemplate(itemT.getRune_strengthenId(), strengthLv + 1); if (rt.getAttriType1() != -1) { long count = 0; if (ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType1(), ref count)) { if (count < rt.getAttriValue1()) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("hero_rune_tip1"), transform); return; } } else { LogManager.LogError("错误的资源id:" + rt.getAttriType1()); } } if (rt.getAttriType2() != -1) { long count = 0; if (ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType2(), ref count)) { if (count < rt.getAttriValue2()) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("hero_rune_tip5"), transform); return; } } else { LogManager.LogError("错误的资源id:" + rt.getAttriType2()); } } //成功后逻辑; CRefineEquip msg = new CRefineEquip(); msg.equipkey = (int)(mRuneGUID.GUID_value); IOControler.GetInstance().SendProtocol(msg); mStrenthBtn[0].GetComponent <Button>().enabled = false; mStrenthBtn[1].GetComponent <Button>().enabled = false; }
void OnDefineBtnClick() { if (mRuneGUID == null || ItemEquipInfo == null) { return; } ItemTemplate itemT = ItemEquipInfo.GetItemRowData(); //一星符文没法鉴定; if (itemT.getRune_quality() <= 1) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("hero_rune_tip3"), transform); return; } int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(itemT); //是否鉴定满级; if (ItemEquipInfo.GetDefineTimes() >= count) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("hero_rune_tip4"), transform); return; } ///鉴定消耗物品是否足够; itemId = -1; //消耗道具id itemCount = -1; //消耗道具数量; switch (ItemEquipInfo.GetDefineTimes()) { case 0: itemId = itemT.getRune_exposeCostType1(); itemCount = itemT.getRune_exposeCostValue1(); break; case 1: itemId = itemT.getRune_exposeCostType2(); itemCount = itemT.getRune_exposeCostValue2(); break; case 2: itemId = itemT.getRune_exposeCostType3(); itemCount = itemT.getRune_exposeCostValue3(); break; case 3: itemId = itemT.getRune_exposeCostType4(); itemCount = itemT.getRune_exposeCostValue4(); break; default: break; } if (itemId != -1 && itemCount > 0) { int haveCount = 0; ObjectSelf.GetInstance().TryGetItemCountById(EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON, itemId, ref haveCount); //道具不足提示; if (haveCount < itemCount) { ItemTemplate costItemT = DataTemplate.GetInstance().GetItemTemplateById(itemId); UI_RechargeBox box = UI_HomeControler.Inst.AddUI(UI_RechargeBox.UI_ResPath).GetComponent <UI_RechargeBox>(); box.SetIsNeedDescription(true); Sprite sp = UIResourceMgr.LoadSprite(common.defaultPath + costItemT.getIcon()); //获取商城中该物品的价格----写死的商品id==3; int shopid = DataTemplate.GetInstance().GetGameConfig().getIdentify_stone_id(); ShopTemplate shopT = DataTemplate.GetInstance().GetShopTemplateByID(shopid); if (!ShopModule.IsShopItemInSaling(shopT)) { InterfaceControler.GetInst().AddMsgBox(GameUtils.getString("shop_bubble6"), transform); return; } box.SetConsume_Image(GameUtils.GetSpriteByResourceType(shopT.getCostType())); int buyTimes = ObjectSelf.GetInstance().GetShopBuyInfoByShopId(shopid).todaynum; bool isdiscount = ShopModule.IsShopItemInDiscount(shopT); int needCount = itemCount - haveCount; long costTotal = (DataTemplate.GetInstance().GetShopBuyCost(shopT, buyTimes, isdiscount) * needCount); box.SetConNum(costTotal.ToString()); string content = string.Format(GameUtils.getString("hero_rune_identifyform_tip1"), GameUtils.getString(costItemT.getName(), TEXT_COLOR.YELLOW) + " X " + needCount); box.SetDescription_text(content); long resourceCount = 0; ObjectSelf.GetInstance().TryGetResourceCountById(shopT.getCostType(), ref resourceCount); box.SetMoneyInfo(shopT.getCostType(), (int)resourceCount); box.SetMoneyInfoActive(true); box.SetLeftBtn_text(GameUtils.getString("common_button_purchase1")); if (costTotal > resourceCount) { box.SetLeftClick(OnMsgBoxYesNoMoneyClick); } else { box.SetLeftClick(OnMsgBoxYesClick); } } else { SendIndentifyProtocol(); } } else { LogManager.LogError("错误的道具id:" + itemId + "或者是错误的道具数量:" + itemCount); } }
//void ResetAttriCount() //{ // mAttriCount = 0; //} void UpdateUI() { //ResetAttriCount(); ItemTemplate itemT = ItemEquipInfo.GetItemRowData(); //mRuneNameTxt.text = GameUtils.getString(itemT.getName()); //mSpeHeroTxt.text = GameUtils.getString(itemT.getSpecialHeroDes()); //mDefineRuneItem.SetIcon(common.defaultPath + itemT.getIcon()); //mDefineRuneItem.SetStarsNum(itemT.getRune_quality()); //mDefineRuneItem.SetLevel(ItemEquipInfo.GetStrenghLevel()); ////bool isSpecial = itemT.getRune_type() == 5 || itemT.getRune_type() == 6; //bool isSpecial = RuneModule.IsSpecialRune(itemT); //mDefineRuneItem.SetIsSpecial(isSpecial); //if (!isSpecial) //{ // mDefineRuneItem.SetRuneType(itemT.getRune_type()); //} mItemCommonData.IsShowMaxEffect = true; mItemCommonData.RuneLevel = ItemEquipInfo.GetStrenghLevel(); mItemCommonData.ItemT = itemT; mItemCommonData.EquipedHeroName = RuneModule.GetItemEuipHeroName(ItemEquipInfo); mItemCommon.SetRuneItemData(mItemCommonData, RuneItemCommon.RuneItemShowType.IconWithRightName); mDetailTxt.text = ""; GameUtils.DestroyChildsObj(mAttriList); int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(itemT); ////--------基础属性; //RuneData runeData = ItemEquipInfo.GetRuneData(); //bool titleDone1 = false; //foreach (int id in runeData.BaseAttributeID) //{ // if (id == -1) // continue; // if (!titleDone1) // { // titleDone1 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content8")); // } // BaseruneattributeTemplate bt = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id); // if (bt.getNumshow() == 0) // { // //CreateTitle(mAttriList, GameUtils.getString(bt.getAttriDes())); // CreateDetailTxts(mAttriList, GameUtils.getString(bt.getAttriDes())); // } // else // { // //CreateBaseAttriObj(mAttriList, GameUtils.GetAttriName(bt.getAttriType()), "+" + bt.getAttriValue().ToString()); // CreateBaseAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes()), "+" + bt.getAttriValue().ToString()); // } //} ////--------附加属性; //bool titleDone2 = false; //int i = 0; //bool isGray = false; //foreach (int id in runeData.AppendAttribute) //{ // i++; // isGray = i * 3 > ItemEquipInfo.GetStrenghLevel(); // if (id == -1) // { // if (i <= count) // { // if (!titleDone2) // { // titleDone2 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); // } // //未知属性,未鉴定; // CreateAddAttriObj(mAttriList, GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), isGray); // } // continue; // } // if (!titleDone2) // { // titleDone2 = true; // CreateTitle(mAttriList, GameUtils.getString("hero_rune_content9")); // } // AddruneattributeTemplate bt = DataTemplate.GetInstance().GetAddruneattributeTemplate(id); // bool isPercent = bt.getIspercentage() > 0; // string val = isPercent ? ((float)bt.getAttriValue() / (float)10f + "%") : bt.getAttriValue().ToString(); // CreateAddAttriObj(mAttriList, GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, isGray); //} //是否鉴定满级; bool isFullIdentify = ItemEquipInfo.GetDefineTimes() >= count; //按钮是否置灰 if (isFullIdentify) { mBtUnChange.SetActive(true); mBtChange.SetActive(false); } else { mBtUnChange.SetActive(false); mBtChange.SetActive(true); } //GameUtils.SetBtnSpriteGrayState(mDefineBtn, isFullIdentify); //是否显示道具消耗 mCostItemImg.gameObject.SetActive(!isFullIdentify); mCostItemNum.gameObject.SetActive(!isFullIdentify); //刷新消耗; //int itemId = -1; //消耗道具id //int itemCount = -1; //消耗道具数量; int curLv = ItemEquipInfo.GetDefineTimes(); switch (curLv) { case 0: itemId = itemT.getRune_exposeCostType1(); itemCount = itemT.getRune_exposeCostValue1(); break; case 1: itemId = itemT.getRune_exposeCostType2(); itemCount = itemT.getRune_exposeCostValue2(); break; case 2: itemId = itemT.getRune_exposeCostType3(); itemCount = itemT.getRune_exposeCostValue3(); break; case 3: itemId = itemT.getRune_exposeCostType4(); itemCount = itemT.getRune_exposeCostValue4(); break; default: break; } int itemTotal = UpdateCostTotalItemInfo(); if (!isFullIdentify) { if (itemId == -1 || itemCount == -1) { //LogManager.LogError("错误的道具id:" + itemId + "或者是错误的道具数量:" + itemCount); LogManager.LogError("符文当前:" + curLv + "级,还可以鉴定,但是鉴定道具id" + itemId + "或者道具数量:" + itemCount + "不对"); } ItemTemplate costItemT = DataTemplate.GetInstance().GetItemTemplateById(itemId); mCostItemImg.sprite = UIResourceMgr.LoadSprite(common.defaultPath + costItemT.getIcon()); mCostImg1.sprite = mCostItemImg.sprite; //int haveCount = 0; //ObjectSelf.GetInstance().TryGetItemCountById(EM_BAG_HASHTABLE_TYPE.EM_BAG_HASHTABLE_TYPE_COMMON, itemId, ref haveCount); TEXT_COLOR tc = itemCount > itemTotal ? TEXT_COLOR.RED : TEXT_COLOR.WHITE; mCostItemNum.text = GameUtils.StringWithColor(itemCount.ToString(), tc); } }
void UpdateUI() { mStrenthObj.SetActive(false); //刷新右上角消耗显示; long count1 = 0; ObjectSelf.GetInstance().TryGetResourceCountById(1400000002, ref count1); mCostTxt1.text = count1.ToString(); ItemTemplate itemT = ItemEquipInfo.GetItemRowData(); int strengthLv = ItemEquipInfo.GetStrenghLevel(); //是否是特殊符文; EM_RUNE_TYPE runeType = (EM_RUNE_TYPE)itemT.getRune_type(); bool isUnique = runeType == EM_RUNE_TYPE.EM_RUNE_TYPE_SPECIAL || runeType == EM_RUNE_TYPE.EM_RUNE_TYPE_SPECIAL_UNIQUE; mStrenthBtn[0].gameObject.SetActive(!isUnique); mStrenthBtn[1].gameObject.SetActive(isUnique); mCloseBtn[0].gameObject.SetActive(!isUnique); mCloseBtn[1].gameObject.SetActive(isUnique); //判断符文是否满级了; bool isFullLv = DataTemplate.GetInstance().IsRuneStrenthFullLevel(itemT, strengthLv); mRuneObj[0].SetActive(!isFullLv); mRuneObj[1].SetActive(!isFullLv); mRuneObj[2].SetActive(isFullLv); if (isFullLv) { //mStrenthRuneItem[i].SetIsSpecial(isUnique); RuneItemCommonData ricd = new RuneItemCommonData(); ricd.IsShowMaxEffect = true; ricd.ItemT = itemT; ricd.RuneLevel = strengthLv; ricd.EquipedHeroName = RuneModule.GetItemEuipHeroName(ItemEquipInfo); mItemCommons[2].SetRuneItemData(ricd, RuneItemCommon.RuneItemShowType.IconWithRightName); } else { RuneItemCommonData ricd = new RuneItemCommonData(); ricd.IsShowMaxEffect = true; ricd.ItemT = itemT; ricd.RuneLevel = strengthLv; ricd.EquipedHeroName = RuneModule.GetItemEuipHeroName(ItemEquipInfo); mItemCommons[0].SetRuneItemData(ricd, RuneItemCommon.RuneItemShowType.IconWithRightName); RuneItemCommonData ricd1 = new RuneItemCommonData(); ricd1.IsShowMaxEffect = true; ricd1.ItemT = itemT; ricd1.RuneLevel = strengthLv + 1; ricd1.EquipedHeroName = RuneModule.GetItemEuipHeroName(ItemEquipInfo); mItemCommons[1].SetRuneItemData(ricd1, RuneItemCommon.RuneItemShowType.IconWithRightName); } mCostObj[0].SetActive(!isFullLv); mCostObj[1].SetActive(!isFullLv); GameUtils.SetBtnSpriteGrayState(mStrenthBtn[0], isFullLv); GameUtils.SetBtnSpriteGrayState(mStrenthBtn[1], isFullLv); mStrenthFullObj1.SetActive(isFullLv); mStrenthFullObj2.SetActive(isFullLv); if (isFullLv) { } else // 没满级判断资源消耗; { if (isUnique) { mStrenthTitleTxt.text = GameUtils.getString("rune_title2"); //消耗资源处刷新; RunecostTemplate rt = DataTemplate.GetInstance().GetRuneCostTemplate(itemT.getRune_strengthenId(), strengthLv + 1); if (rt.getAttriType1() == 1400000002)//是金币; { long countTmp = 0; ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType1(), ref countTmp); mCost2Txt1.text = countTmp.ToString(); ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType2(), ref countTmp); mCost2Txt2.text = countTmp.ToString(); TEXT_COLOR tc = countTmp >= rt.getAttriValue2() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostItemCountTxt.text = GameUtils.StringWithColor(rt.getAttriValue2().ToString(), tc); tc = ObjectSelf.GetInstance().Money >= rt.getAttriValue1() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostGoldTxt[1].text = GameUtils.StringWithColor(rt.getAttriValue1().ToString(), tc); } else//不是金币; { long countTmp = 0; ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType2(), ref countTmp); mCost2Txt1.text = countTmp.ToString(); ObjectSelf.GetInstance().TryGetResourceCountById(rt.getAttriType1(), ref countTmp); mCost2Txt2.text = countTmp.ToString(); TEXT_COLOR tc = countTmp >= rt.getAttriValue1() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostItemCountTxt.text = GameUtils.StringWithColor(rt.getAttriValue1().ToString(), tc); tc = ObjectSelf.GetInstance().Money >= rt.getAttriValue2() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostGoldTxt[1].text = GameUtils.StringWithColor(rt.getAttriValue2().ToString(), tc); } mNorCostItemImg.sprite = GameUtils.GetSpriteByResourceType(rt.getAttriType1()); mSpecCostItemImg.sprite = GameUtils.GetSpriteByResourceType(rt.getAttriType2()); mCostGoldImg.sprite = GameUtils.GetSpriteByResourceType(rt.getAttriType1()); mCost2Img1.sprite = GameUtils.GetSpriteByResourceType(rt.getAttriType1()); mCost2Img2.sprite = GameUtils.GetSpriteByResourceType(rt.getAttriType2()); mCostObj1.SetActive(false); mCostObj2.SetActive(true); } else { mStrenthTitleTxt.text = GameUtils.getString("rune_title1"); RunecostTemplate rt = DataTemplate.GetInstance().GetRuneCostTemplate(itemT.getRune_strengthenId(), strengthLv + 1); if (rt.getAttriType1() == 1400000002)//是金币; { TEXT_COLOR tc = ObjectSelf.GetInstance().Money >= rt.getAttriValue1() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostGoldTxt[0].text = GameUtils.StringWithColor(rt.getAttriValue1().ToString(), tc); } else//不是金币; { TEXT_COLOR tc = ObjectSelf.GetInstance().Money >= rt.getAttriValue2() ? TEXT_COLOR.WHITE : TEXT_COLOR.RED; mCostGoldTxt[0].text = GameUtils.StringWithColor(rt.getAttriValue2().ToString(), tc); } mCostObj1.SetActive(true); mCostObj2.SetActive(false); } } mStrenthBtn[0].GetComponent <Button>().enabled = true; mStrenthBtn[1].GetComponent <Button>().enabled = true; //RuneData runeData = ItemEquipInfo.GetRuneData(); ////基础属性; //bool titleDone1 = false; //foreach (int id in runeData.BaseAttributeID) //{ // if (id == -1) // continue; // if (!titleDone1) // { // titleDone1 = true; // if (isFullLv) // { // CreateTitle(mDetailTransPos[2], GameUtils.getString("hero_rune_content8")); // } // else // { // CreateTitle(mDetailTransPos[0], GameUtils.getString("hero_rune_content8")); // CreateTitle(mDetailTransPos[1], GameUtils.getString("hero_rune_content8")); // } // } // BaseruneattributeTemplate bt1 = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id); // if (isFullLv) // { // if (bt1.getNumshow() == 0) // { // //CreateTitle(mAttriList[2], GameUtils.getString(bt1.getAttriDes())); // CreateDetailTxts(mDetailTransPos[2], GameUtils.getString(bt1.getAttriDes())); // } // else // { // CreateBaseAttriObj(mDetailTransPos[2], GameUtils.getString(bt1.getAttriDes()), "+" + bt1.getAttriValue().ToString()); // } // //CreateBaseAttriObj(mAttriList[2], GameUtils.GetAttriName(bt1.getAttriType()), "+" + bt1.getAttriValue().ToString()); // } // else // { // if (bt1.getNumshow() == 0) // { // //CreateTitle(mAttriList[0], GameUtils.getString(bt1.getAttriDes())); // CreateDetailTxts(mDetailTransPos[0], GameUtils.getString(bt1.getAttriDes())); // } // else // { // CreateBaseAttriObj(mDetailTransPos[0], GameUtils.getString(bt1.getAttriDes()), "+" + bt1.getAttriValue().ToString()); // } // //CreateBaseAttriObj(mAttriList[0], GameUtils.GetAttriName(bt1.getAttriType()), "+" + bt1.getAttriValue().ToString()); // BaseruneattributeTemplate bt2 = DataTemplate.GetInstance().GetBaseruneattributeTemplate(id + 1); // if (bt2.getNumshow() == 0) // { // //CreateTitle(mAttriList[1], GameUtils.getString(bt2.getAttriDes())); // CreateDetailTxts(mDetailTransPos[1], GameUtils.getString(bt2.getAttriDes())); // } // else // { // CreateBaseAttriObj(mDetailTransPos[1], GameUtils.getString(bt2.getAttriDes()), "+" + bt2.getAttriValue().ToString()); // } // //CreateBaseAttriObj(mAttriList[1], GameUtils.GetAttriName(bt2.getAttriType()), "+" + bt2.getAttriValue().ToString()); // } //} ////附加属性; //bool titleDone2 = false; //int count = DataTemplate.GetInstance().GetRuneMaxRedefineTimes(itemT); //int m = 0; //bool curIsGray = false, nextIsGray = false; //foreach (int id in runeData.AppendAttribute) //{ // m++; // curIsGray = m * 3 > strengthLv; // nextIsGray = m * 3 > strengthLv + 1; // if (id == -1) // { // if (m <= count) // { // if (!titleDone2) // { // titleDone2 = true; // if (isFullLv) // { // CreateTitle(mDetailTransPos[2], GameUtils.getString("hero_rune_content9")); // } // else // { // CreateTitle(mDetailTransPos[0], GameUtils.getString("hero_rune_content9")); // CreateTitle(mDetailTransPos[1], GameUtils.getString("hero_rune_content9")); // } // } // //位置属性,未鉴定; // if (isFullLv) // { // CreateAddAttriObj(mDetailTransPos[2], GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), curIsGray); // } // else // { // CreateAddAttriObj(mDetailTransPos[0], GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), curIsGray); // CreateAddAttriObj(mDetailTransPos[1], GameUtils.getString("rune_content2"), "", GameUtils.getString("rune_content3"), nextIsGray); // } // } // continue; // } // if (!titleDone2) // { // titleDone2 = true; // if (isFullLv) // { // CreateTitle(mDetailTransPos[2], GameUtils.getString("hero_rune_content9")); // } // else // { // CreateTitle(mDetailTransPos[0], GameUtils.getString("hero_rune_content9")); // CreateTitle(mDetailTransPos[1], GameUtils.getString("hero_rune_content9")); // } // } // AddruneattributeTemplate bt = DataTemplate.GetInstance().GetAddruneattributeTemplate(id); // bool isPercent = bt.getIspercentage() > 0; // string val = isPercent ? ((float)bt.getAttriValue() / (float)10f + "%") : bt.getAttriValue().ToString(); // if (isFullLv) // { // CreateAddAttriObj(mDetailTransPos[2], GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, curIsGray); // } // else // { // CreateAddAttriObj(mDetailTransPos[0], GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, curIsGray); // CreateAddAttriObj(mDetailTransPos[1], GameUtils.getString(bt.getAttriDes1()), GameUtils.getString(bt.getAttriDes2()), bt.getSymbol() + val, nextIsGray); // } //} }