/// #pkgName FGUI包名 /// #panelName UIPanel名字 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字 /// 该脚本由模板创建 /// created by cb 2024 using FairyGUI; using FL.Data.Items; using FL.Data; using XGame.Framework.UI; namespace FL.FGUI { /// /// UI逻辑处理类 /// /// public partial class EquipEquipPanelCtrl : UIController { private EquipItem _newEquip; private EquipItem _wearEquip; protected override void OnEnable(object intent) { AddUIListenres(); ShowUI(intent as EquipItem); } protected override void OnDisable() { _newEquip = null; _wearEquip = null; RemoveUIListenres(); } #region UI事件 private void AddUIListenres() { VM.WearBtn.onClick.Add(OnClickWearBtn); } private void RemoveUIListenres() { VM.WearBtn.onClick.Remove(OnClickWearBtn); } #endregion /// /// 穿戴|替换按钮事件 /// /// private void OnClickWearBtn(EventContext context) { if (_newEquip == null) return; EquipData.Instance.BubblingEquipUid = 0; DragonEggService.Instance.OnChangeEquip(_newEquip.Id); ClosePanel(); } private void ClosePanel() { Context.ClosePanel(); } private void ShowUI(EquipItem equipData) { if (equipData == null) return; if (equipData?.EquipType > 0) { _wearEquip = EquipData.Instance.GetWearEquipData(equipData.EquipType); if (_wearEquip?.Id == equipData.Id) { ShowEquipInfo(_wearEquip); VM.WearEquipItem.Disable(); return; } } _newEquip = equipData; if (_newEquip == null) return; bool bShowWear = _wearEquip != null; if (bShowWear) { VM.WearEquipItem.Enable(null); VM.WearEquipItem.Ctrl.ShowUI(_newEquip, _wearEquip, true); } else { VM.WearEquipItem.Disable(); } VM.NewEquipItem.Ctrl.ShowUI(_newEquip, _wearEquip); ShowBtnUI(bShowWear); } private void ShowBtnUI(bool bWear) { VM.BtnState.selectedIndex = bWear ? 1 : 2; // 1_替换 2_穿戴 } private void ShowEquipInfo(EquipItem equip) { // 展示装备属性详情,不显示按钮 VM.BtnState.selectedIndex = 0; VM.NewEquipItem.Ctrl.ShowUI(equip, equip, true); } } }