public void OnClickItem(ItemType itemType) { _currentItemType = itemType; ItemInfo itemInfo = _currentInfo.GetItemByType(itemType); if (itemInfo == null) { // 没有穿戴物品,直接显示选物品界面 UIManager.Instance.OpenWindow <UISelectEquipView>(_currentInfo, itemType); } else { _panelUnEquipBg.gameObject.SetActive(true); if (itemType == ItemType.DECORATION) { _panelUnEquip.transform.position = _item3.transform.position; } else if (itemType == ItemType.BOOK) { _panelUnEquip.transform.position = _item4.transform.position; } else if (itemType == ItemType.CHEST || itemType == ItemType.CLOTH) { _panelUnEquip.transform.position = _item2.transform.position; } else { _panelUnEquip.transform.position = _item1.transform.position; } } }
public void SetInfo(HeroInfo heroInfo, ItemInfo itemInfo) { _heroInfo = heroInfo; _itemInfo = itemInfo; _starPanel.SetStar(heroInfo.StarLevel); _imgIconBg.sprite = ResourceManager.Instance.GetHeroBgByStar(heroInfo.StarLevel); _imgIcon.sprite = ResourceManager.Instance.GetHeroImage(heroInfo.ConfigID); _txtHeroName.text = heroInfo.GetName(); _txtHeroName.color = ResourceManager.Instance.GetColorByQuality(heroInfo.StarLevel); _txtFightScore.text = heroInfo.FightingScore.ToString(); _imgItemType.sprite = ResourceManager.Instance.GetItemTypeIcon((ItemType)itemInfo.Cfg.Type); ItemInfo curItemInfo = heroInfo.GetItemByType((ItemType)itemInfo.Cfg.Type); if (curItemInfo != null) { _itemWidget.SetInfo(curItemInfo); _itemWidget.gameObject.SetActive(true); } else { _itemWidget.gameObject.SetActive(false); } }
public void SetInfo(HeroInfo info, ItemType itemType) { // TODO 显示合成逻辑,当判定有合成材料,并且没有对应装备时显示可合成 // TODO 如果判定副本已通关,并且显示可获取(如果可以装备显示绿色+,否则显示黄色+),可获取颜色为黄色 // 未装备和无装备显示偏灰黄 _currentInfo = info; _currentType = itemType; ItemInfo itemInfo = info.GetItemByType(itemType); if (itemInfo != null) { // 已经装备 _itemFlag.gameObject.SetActive(false); _itemIcon.gameObject.SetActive(true); _itemIcon.sprite = ResourceManager.Instance.GetItemIcon(itemInfo.ConfigID); _itemBg.sprite = ResourceManager.Instance.GetIconBgByQuality(itemInfo.Quality); _itemBgCover.gameObject.SetActive(true); _itemBgCover.sprite = ResourceManager.Instance.GetIconBgCoverByQuality(itemInfo.Quality); _itemText.gameObject.SetActive(false); } else { _itemIcon.gameObject.SetActive(false); _itemBg.sprite = ResourceManager.Instance.GetIconBgByQuality(1); _itemBgCover.gameObject.SetActive(false); _itemBgCover.sprite = ResourceManager.Instance.GetIconBgCoverByQuality(1); ItemInfo itemInfoInBag = UserManager.Instance.GetItemByType(itemType); if (itemInfoInBag != null) { _itemFlag.gameObject.SetActive(true); _itemText.gameObject.SetActive(true); // 背包中有对应物品 if (info.Level >= itemInfoInBag.Cfg.Level) { // 可以装备,显示绿色+ _itemFlag.sprite = _greenAdd; _itemText.text = Str.Get("UI_HERO_ITEM_EQUIP"); _itemText.color = Color.green; } else { // 不可以装备,显示黄色+ _itemFlag.sprite = _yellowAdd; _itemText.text = Str.Get("UI_HERO_ITEM_NOT_EQUIP"); _itemText.color = new Color32(255, 184, 0, 255); } } else { // 背包中没有对应物品,直接留空 _itemFlag.gameObject.SetActive(false); _itemText.gameObject.SetActive(false); } } }
public void SetInfo(HeroInfo info, ItemType itemType) { _itemBg.sprite = ResourceManager.Instance.GetItemBgByStar(info.StarLevel); _itemIcon.gameObject.SetActive(false); _itemIconBg.gameObject.SetActive(false); _itemFlagY.gameObject.SetActive(false); _itemFlagG.gameObject.SetActive(false); ItemInfo itemInfo = info.GetItemByType(itemType); if (itemInfo != null) { // 已经装备 _itemIcon.gameObject.SetActive(true); _itemIcon.sprite = ResourceManager.Instance.GetItemIcon(itemInfo.ConfigID); _itemIconBg.gameObject.SetActive(true); _itemIconBg.sprite = ResourceManager.Instance.GetIconBgByQuality(itemInfo.Quality); } else { _itemIcon.gameObject.SetActive(false); ItemInfo itemInfoInBag = UserManager.Instance.GetItemByType(itemType); if (itemInfoInBag != null) { // 背包中有对应物品 ItemsConfig itemConfig = ItemsConfigLoader.GetConfig(itemInfoInBag.ConfigID); if (info.Level >= itemConfig.Level) { // 可以装备,显示绿色+ _itemFlagG.gameObject.SetActive(true); } else { // 不可以装备,显示黄色+ _itemFlagY.gameObject.SetActive(true); } } else { // 背包中没有对应物品,直接留空 } } }
// 请求穿戴装备 public bool RequestEquipItem(long heroID, long itemID) { HeroInfo heroInfo = GetHeroInfo(heroID); if (heroInfo == null) { return(false); } if (heroInfo.GetItem(itemID) != null) { // 已经装备 return(false); } ItemInfo itemInfo = GetItem(itemID); if (itemInfo == null) { // 没有物品 return(false); } if (itemInfo.Cfg.Level > heroInfo.Level) { // 等级不足 UIUtil.ShowMsgFormat("MSG_HERO_LEVEL_LIMIT"); return(false); } PUseCommonItem builder = new PUseCommonItem(); builder.heroId = heroID; PComItem ibuilder = new PComItem(); ibuilder.id = itemInfo.EntityID; builder.comItem.Add(ibuilder); NetworkManager.Instance.Send(eCommand.FIT_UP_EQUIP, builder, (buffer) => { PHeroAttr ret = Net.Deserialize <PHeroAttr>(buffer); if (!Net.CheckErrorCode(ret.errorCode, eCommand.FIT_UP_EQUIP)) { return; } // 把旧装备放在背包里面 ItemInfo oldItemInfo = heroInfo.GetItemByType((ItemType)itemInfo.Cfg.Type); if (oldItemInfo != null) { AddItem(oldItemInfo, false); heroInfo.EquipedItem.Remove(oldItemInfo); } // 同步英雄属性 heroInfo.Deserialize(ret, true); // 移除背包内的装备 UseItem(itemID, 1); UIManager.Instance.RefreshWindow <UINewHeroView>(); UIManager.Instance.RefreshWindow <UINewHeroListView>(); }); return(true); }