/// <summary> /// 获取当前总经验 /// </summary> /// <param name="pitemData"></param> /// <returns></returns> public static int GetCurrentTotalExp(this PItem pitemData) { int level = pitemData.GetIntentyLevel(); EquipType type = Module_Equip.GetEquipTypeByItem(pitemData); var info = ConfigManager.Find <IntentifyEquipInfo>(o => o.type == type && o.level == level); return(pitemData.GetCurrentLevelExp() + (info == null ? 0 : info.exp)); }
private void SetDataInfo(RectTransform rt, PItem info) { if (info == null) { return; } var level = info.GetIntentyLevel(); var prop = ConfigManager.Get <PropItemInfo>(info.itemTypeId); if (prop == null) { return; } int star = prop.quality; Util.SetItemInfo(rt, prop, level, 0, true, star); GameObject wear = rt.Find("equiped").gameObject; bool wearShow = moduleEquip.currentDressClothes.Exists(a => a.itemId == info.itemId); if (moduleEquip.weapon != null && moduleEquip.offWeapon != null) { if (info.itemId == moduleEquip.weapon.itemId || info.itemId == moduleEquip.offWeapon.itemId) { wearShow = true; } } wear.gameObject.SetActive(wearShow); Text txt = rt.Find("equiped/Text").GetComponent <Text>(); Util.SetText(txt, ConfigText.GetDefalutString(224, 30)); Image news = rt.Find("new").GetComponent <Image>(); news.gameObject.SetActive(moduleCangku.NewsProp(info.itemId)); Image locks = rt.Find("lock").GetComponent <Image>(); locks.gameObject.SetActive(info.isLock == 1); Image max = rt.Find("levelmax").GetComponent <Image>(); bool maxShow = false; var t = moduleEquip.GetPeiviewEuipeTypeByItem(info); if (t == PreviewEquipType.None || t == PreviewEquipType.Enchant) { maxShow = true; } max.gameObject.SetActive(maxShow); }
public void RefreshPanel(PItem data, EquipType type, Dictionary <PItem, int> currentSelect, List <PItem> items) { this.data = data; equipType = type; SetPanelVisible(true); InitSelectData(currentSelect, items); m_dataSource?.SetItems(items); m_dataSource?.UpdateItems(); m_limitIntentifyInfo = moduleEquip.GetLimitIntenInfo(equipType, data.GetIntentyLevel(), data.HasEvolved()); RefreshDetail(); }
public override void RefreshPanel(PItem item, PItem cache) { base.RefreshPanel(item, cache); if (item.InvalidGrowAttr()) { canClick = true; return; } EquipType type = Module_Equip.GetEquipTypeByID(item.itemTypeId); int level = item.GetIntentyLevel(); int limitLevel = moduleEquip.GetLimitIntenLevel(type, level, true); m_currentLevel.text = level.ToString(); m_nextLimitLevel.text = limitLevel.ToString(); if (!m_t) { canClick = true; } }
private List <PItemAttachAttr> GetAttributePreview(PItem data) { List <PItemAttachAttr> list = new List <PItemAttachAttr>(); if (data.GetIntentyLevel() > 0 && !data.InvalidGrowAttr()) { PItemAttachAttr[] attris = data.growAttr.equipAttr.fixedAttrs; foreach (var attr in attris) { list.Add(attr); } } else { PropItemInfo info = data.GetPropItem(); if (info && info.attributes != null) { foreach (var a in info.attributes) { PItemAttachAttr attr = PacketObject.Create <PItemAttachAttr>(); attr.id = a.id; attr.value = a.value; list.Add(attr); } } } var nowLevel = item.growAttr.equipAttr.level; if (nowLevel > 0) { var value = moduleForging.Insoul_Info[nowLevel].attribute; PItemAttachAttr a = PacketObject.Create <PItemAttachAttr>(); a.id = 18; a.value = value; list.Add(a); } return(list); }
private void SetBtnClick() { foreach (Transform obj in m_btnGroup) { obj.GetComponent <Button>().interactable = true; obj.Find("mark").gameObject.SetActive(false); obj.GetComponent <Button>().onClick.RemoveAllListeners(); } m_strengBtn.onClick.AddListener(delegate { if (m_strengHint.activeInHierarchy) { var max = moduleEquip.GetLimitIntenLevelByExp(Module_Equip.GetEquipTypeByItem(item), item.GetIntentyLevel(), moduleEquip.GetBagTotalIntentyExp() + item.GetCurrentTotalExp(), item.HasEvolved()); if (max == null) { return; } if (moduleEquip.IntentyRead.ContainsKey(item.itemId)) { moduleEquip.IntentyRead[item.itemId] = max.level; } else { moduleEquip.IntentyRead.Add(item.itemId, max.level); } } moduleEquip.operateItem = item; ShowAsync <Window_Strength>(); }); m_advancedBtn.onClick.AddListener(delegate { if (m_advancedHint.activeInHierarchy) { int leftLevel = item.GetIntentyLevel(); int nextLimitLevel = moduleEquip.GetLimitIntenLevel(Module_Equip.GetEquipTypeByItem(item), leftLevel, true); if (moduleEquip.EvolveRead.ContainsKey(item.itemId)) { moduleEquip.EvolveRead[item.itemId] = nextLimitLevel; } else { moduleEquip.EvolveRead.Add(item.itemId, nextLimitLevel); } } moduleEquip.operateItem = item; ShowAsync <Window_Evolution>(); }); m_soulBtn.onClick.AddListener(delegate { if (m_soulHint.activeInHierarchy) { var wea = ConfigManager.Get <WeaponAttribute>(item.itemTypeId); if (wea != null) { var read = moduleEquip.InsoulLevel(wea.elementId, (int)item.growAttr.equipAttr.expr, item.growAttr.equipAttr.level); if (moduleEquip.InsoulRead.ContainsKey(item.itemId)) { moduleEquip.InsoulRead[item.itemId] = read; } else { moduleEquip.InsoulRead.Add(item.itemId, read); } //记录为已读状态 存储当前可达到的最高级 } } moduleForging.InsoulItem = item.Clone(); ShowAsync <Window_Merge>(); }); m_orderBtn.onClick.AddListener(delegate { if (m_orderHint.activeInHierarchy) { var have = moduleEquip.UpLoadRead.Exists(a => a == item.itemId); if (!have) { moduleEquip.UpLoadRead.Add(item.itemId); } } moduleForging.UpLoadItem = item.Clone(); ShowAsync <Window_Upload>(); }); m_sublimaBtn.onClick.AddListener(delegate { var currentItem = moduleEquip.GetProp(item.itemId); if (moduleFurnace.IsSublimationMax(currentItem)) { moduleGlobal.ShowMessage(249, 20); return; } moduleFurnace.currentSublimationItem = currentItem; ShowAsync <Window_Sublimation>(); }); m_spiritBtn.onClick.AddListener(delegate { moduleFurnace.currentSoulItem = moduleEquip.GetProp(item.itemId); ShowAsync <Window_Soul>(); }); m_btnClearSuit?.onClick.AddListener(delegate { m_clearSuit.Initialize(moduleEquip.GetProp(item.itemId)); }); SetBtnHint(); }
public static void BindItemInfo(RectTransform rt, PItem info) { if (info == null) { return; } var prop = ConfigManager.Get <PropItemInfo>(info.itemTypeId); if (prop == null) { return; } int star = 0; int level = 0; bool wearShow = false; bool maxShow = false; RectTransform normal = rt.Find("0").GetComponent <RectTransform>(); RectTransform rune = rt.Find("1").GetComponent <RectTransform>(); var ctNormal = normal.Find("numberdi/count").GetComponent <Text>(); var ctRune = rune.Find("numberdi/count").GetComponent <Text>(); if (prop.itemType == PropType.Rune) { if (info.growAttr != null) { level = info.growAttr.runeAttr.level; star = info.growAttr.runeAttr.star; maxShow = moduleRune.IsMaxLv(info.growAttr.runeAttr.level); wearShow = moduleRune.currentEquip.Exists(a => a.itemId == info.itemId); } Util.SetItemInfo(rune, prop, level, 0, true, star); ctRune.gameObject.SetActive(false); } else if ((prop.attributes != null && prop.attributes.Length > 0) || prop.itemType == PropType.Weapon) { star = prop.quality; level = info.GetIntentyLevel(); var t = moduleEquip.GetPeiviewEuipeTypeByItem(info); if (t == PreviewEquipType.None || t == PreviewEquipType.Enchant) { maxShow = true; } wearShow = moduleEquip.currentDressClothes.Exists(a => a.itemId == info.itemId); if (moduleEquip.weapon != null && moduleEquip.offWeapon != null) { if (info.itemId == moduleEquip.weapon.itemId || info.itemId == moduleEquip.offWeapon.itemId) { wearShow = true; } } Util.SetItemInfo(normal, prop, level, 0, true, star); ctNormal.gameObject.SetActive(false); } else { star = prop.quality; Util.SetItemInfo(normal, prop, 0, (int)info.num, false); ctNormal.gameObject.SetActive(true); } var rtChild = normal; normal.gameObject.SetActive(true); rune.gameObject.SetActive(false); if (prop.itemType == PropType.Rune) { rtChild = rune; rune.gameObject.SetActive(true); normal.gameObject.SetActive(false); } var wear = rtChild.Find("get"); //是否佩戴 var hint = rtChild.Find("mark"); //是否可合成 var mews = rtChild.Find("new"); var max = rtChild.Find("levelmax"); //最高级 Image locks = rtChild.Find("lock").GetComponent <Image>(); locks.gameObject.SetActive(info.isLock == 1); wear.SafeSetActive(wearShow); var equipText = rtChild.Find("get/Text")?.GetComponent <Text>(); if (equipText) { equipText.color = moduleRune.GetCurQualityColor(GeneralConfigInfo.defaultConfig.qualitys, star); } Util.SetText(equipText, (int)TextForMatType.RuneUIText, 48); max.SafeSetActive(maxShow); mews.SafeSetActive(false); hint.SafeSetActive(false); ctNormal.color = GeneralConfigInfo.defaultConfig.WareHouse; if ((WareType)prop.lableType == WareType.Debris) { Compound compose = ConfigManager.Get <Compound>(prop.compose);//合成/分解信息 if (compose == null) { return; } var fenmu = compose.sourceNum; var fenzi = info.num; var str = fenzi.ToString() + "/" + fenmu.ToString(); Util.SetText(ctNormal, str); if (fenzi < fenmu) { Util.SetText(ctNormal, GeneralConfigInfo.GetNoEnoughColorString(str)); } } if (!m_decomBtn.isOn) { moduleCangku.GetCanCompse(); var cPos = moduleCangku.AllCompse.Find(a => a.itemId == info.itemId); hint.SafeSetActive(cPos != null); var isNew = moduleCangku.newProp.Find(a => a.itemId == info.itemId); mews.SafeSetActive(isNew != null); var bt = rtChild.gameObject.GetComponentDefault <Button>(); bt.onClick.RemoveAllListeners(); bt.onClick.AddListener(delegate { SetItemClick(bt, info); }); } }