using System; using Core.Language; 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, layer: UILayer.Top); itemPanel.InitItemPanel(itemInfo); } public void InitWidget(ItemInfo itemInfo, Action action = null) { this.itemInfo = itemInfo; this.action = action; bg.color = colorConfig.bgColors[3]; corner.color = colorConfig.cornerColors[3]; // light.color = colorConfig.lightColors[itemInfo.eqInfo.quality]; // border.color = colorConfig.borderColors[itemInfo.eqInfo.quality]; glow.color = colorConfig.glowColors[3]; border.gameObject.SetActive(false); light.gameObject.SetActive(false); heroShards.SetActive(false); alertRed.SetActive(false); icon.gameObject.SetActive(true); if (itemInfo.count.Value > 0) { numObj.SetActive(true); num.text = itemInfo.count.Value.ToStringEx(); } else { numObj.SetActive(false); } if (itemInfo.eqInfo != null) { icon.icon_name = HeroUITools.GetEquipmentIconName(itemInfo); lvObj.SetActive(true); // txtLv.text = itemInfo.eqInfo.level + "级"; txtLv.text = LanguageManager.Instance.Text(161, 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]; } if (itemInfo.config.itemTyp == 5) { heroShards.SetActive(true); icon.gameObject.SetActive(false); heroShardsIcon.icon_name = itemInfo.config.icon; } else { icon.icon_name = itemInfo.config.icon; lvObj.SetActive(false); } } public void SetEmpty(Action action = null) { itemInfo = null; this.action = action; border.gameObject.SetActive(false); light.gameObject.SetActive(false); numObj.SetActive(false); icon.gameObject.SetActive(false); alertRed.SetActive(false); corner.gameObject.SetActive(false); glow.gameObject.SetActive(false); lvObj.SetActive(false); heroShards.SetActive(false); bg.color = colorConfig.bgColors[0]; // light.color = colorConfig.lightColors[0]; // border.color = colorConfig.borderColors[0]; } } }