using System; using GameLogic.Bag; using GameLogic.Equipment; using UnityEngine; using Utility; namespace Fort23.Mono { [UIBinding(prefab = "WidgetItem" )] public partial class WidgetItem : UIComponent { public ItemInfo itemInfo; private WidgetItemColorConfig colorConfig; private void Init() { colorConfig = btnClick.gameObject.GetComponent(); } public override void AddEvent() { } public override void DelEvent() { } public override void AddButtonEvent() { btnClick.onClick.AddListener(OnclickItem); } private Action action; private async void OnclickItem() { if (action != null) { action.Invoke(); return; } if (itemInfo == null) { return; } ItemPanel itemPanel = await UIManager.Instance.LoadAndOpenPanel(null); itemPanel.InitItemPanel(itemInfo); } public void InitWidget(ItemInfo itemInfo, Action action = null) { this.itemInfo = itemInfo; this.action = action; numObj.SetActive(true); alertRed.SetActive(false); icon.gameObject.SetActive(true); num.text = itemInfo.count.Value.ToStringEx(); if (itemInfo.eqInfo != null) { icon.icon_name = HeroUITools.GetEquipmentIconName(itemInfo); lvObj.SetActive(true); txtLv.text = itemInfo.eqInfo.level + "级"; bg.color = colorConfig.bgColors[itemInfo.eqInfo.quality]; corner.color = colorConfig.cornerColors[itemInfo.eqInfo.quality]; light.color = colorConfig.lightColors[itemInfo.eqInfo.quality]; border.color = colorConfig.borderColors[itemInfo.eqInfo.quality]; glow.color = colorConfig.glowColors[itemInfo.eqInfo.quality]; } else { icon.icon_name = itemInfo.config.icon; lvObj.SetActive(false); // switch (itemInfo.eqInfo.quality) // { // case 1: // case 2: // bg.color = colorConfig.bgColors[1]; // break; // } // bg.color = Color.blue; } // if (itemInfo.config.itemTyp == 4) // { // itemInfo.eqInfo = PlayerManager.Instance.eqController // .BuildEquipment(itemInfo.config, 1, 1); // //itemInfo.eqInfo.InitEquipment(itemInfo.config,1,1); // } } public void SetEmpty(Action action = null) { itemInfo = null; this.action = action; numObj.SetActive(false); icon.gameObject.SetActive(false); alertRed.SetActive(false); corner.gameObject.SetActive(false); glow.gameObject.SetActive(false); lvObj.SetActive(false); bg.color = colorConfig.bgColors[0]; light.color = colorConfig.lightColors[0]; border.color = colorConfig.borderColors[0]; } } }