using System.Collections.Generic; using Common.Utility.CombatEvent; using Fort23.Core; using Fort23.UTool; using GameLogic.Bag; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "SpecificProfessionEquipmentPanel" )] public partial class SpecificProfessionEquipmentPanel : UIPanel { private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { btnBack.onClick.AddListener(OnclickClose); btnOnce.onClick.AddListener(OnclickOnce); } private bool isClickOnce = false; private void OnclickOnce() { isClickOnce = PlayerManager.Instance.eqController.EquipZyEqs(curZy); HeroUITools.UpdateZyEqIcon(curZy, eqs, 30); } private async void OnclickClose() { UIManager.Instance.HideUIUIPanel(this); if (isClickOnce) { ProfessionEquipmentPanel professionEquipmentPanel = await UIManager.Instance.LoadAndOpenPanel(null); professionEquipmentPanel.UpdateZyEqs(curZy); HeroPowerUpEventData data = new HeroPowerUpEventData(); data.upType = HeroUpType.BasicEquip; EventManager.Instance.Dispatch(CustomEventType.HeroPowerUp, data); } } public void InitPanel(int zy) { // SetEqs(zy); isClickOnce = false; curZy = zy; HeroUITools.UpdateZyEqIcon(zy, eqs, 30); } public int curZy; private async void SetEqs(int zy) { curZy = zy; // foreach (GameObject eqGo in eqs) // { // WidgetItem eqItem = await UIManager.Instance. // CreateGComponentForObject(eqGo, // null, root:eqGo.GetComponent()); // LogTool.Log(eqGo + "设置"); // eqItem.SetEmpty(); // } HeroUITools.UpdateZyEqIcon(zy, eqs, 30); // if (PlayerManager.Instance.eqController.zyEqDic.TryGetValue(zy, out Dictionary> bwDic)) // { // foreach (KeyValuePair> keyValuePair in bwDic) // { // //遍历每个部位下的全部装备 // foreach (ItemInfo eqInfo in keyValuePair.Value) // { // if (eqInfo.eqInfo.isEquip) // { // GameObject eqGo = eqs[keyValuePair.Key - 1] as GameObject; // WidgetItem eqItem = await UIManager.Instance. // CreateGComponentForObject(eqGo, null, root:eqGo.GetComponent()); // eqItem.InitWidget(eqInfo); // } // } // } // } // if (PlayerManager.Instance.eqController.zyEqDic.TryGetValue(zy, out var bwDic)) // { // List eqList = BagController.Instance.EqDic[zy]; // foreach (ItemInfo eqInfo in eqList) // { // if (eqInfo.eqInfo.isEquip) // { // // if(eqInfo.eqInfo.basicEquipConfig.Type) // GameObject eqGo = eqs[eqInfo.eqInfo.basicEquipConfig.Type - 1] as GameObject; // WidgetItem eqItem = await UIManager.Instance. // CreateGComponentForObject(eqGo, null, root:eqGo.GetComponent()); // eqItem.InitWidget(eqInfo); // } // } // } } } }