/// #pkgName FGUI包名 /// #panelName UIPanel名字 /// #UIName = $"{#pkgName}{#panelName}" UIKey名字 /// 该脚本由模板创建 /// created by cb 2024 using FairyGUI; using FL.Data; using XGame; using XGame.Framework.UI; namespace FL.FGUI { /// /// UI逻辑处理类 /// /// public partial class PartnerEpiUpListItemCtrl : UIController { protected override void OnEnable(object intent) { AddUIListenres(); } protected override void OnDisable() { RemoveUIListenres(); } #region UI事件 private void AddUIListenres() { VM.PartnerItem.VM.PartnerBase.VM.ClickBtn.onClick.Add(OnClickClickBtn); VM.DownBtn.onClick.Add(OnClickDownBtn); VM.UpBtn.onClick.Add(OnClickUpBtn); VM.PartnerItem.VM.EpiSetBase.VM.ClickBtn.onClick.Add(OnClickEpiSet); } private void RemoveUIListenres() { VM.PartnerItem.VM.PartnerBase.VM.ClickBtn.onClick.Remove(OnClickClickBtn); VM.DownBtn.onClick.Remove(OnClickDownBtn); VM.UpBtn.onClick.Remove(OnClickUpBtn); VM.PartnerItem.VM.EpiSetBase.VM.ClickBtn.onClick.Remove(OnClickEpiSet); } private void OnClickEpiSet(EventContext eventContext) { if (EpigraphData.Instance.UpModeSelect > 0) { EventSingle.Instance.Notify(EventDefine.EpigraphUpModeSelect, _sbId); } else { var partnerInfo = PartnersData.Instance.GetPartnerAttrByTableId(_sbId); if (partnerInfo == null) { Log.Error($"圣兵数据不存在,id:{_sbId}"); return; } Context.UI.OpenAsync( UIKeys.PartnerEpiChangePanel, new PartnerEpiChangePanelCtrlParam() { PlanId = PartnersData.Instance.UsePlanId, SlotId = -1, SbId = _sbId, } ); } } private void OnClickClickBtn(EventContext context) { if (EpigraphData.Instance.UpModeSelect > 0) { EventSingle.Instance.Notify(EventDefine.EpigraphUpModeSelect, _sbId); } else if (_sbId > 0) { Context.UI.OpenAsync(UIKeys.PartnerDetailsPanel, _sbId); } } private void OnClickDownBtn(EventContext context) { var slotData = PartnersData.Instance.CurUsePlan.GetSlot(_pos); if (slotData.SbId <= 0) return; PartnersService.Instance.RequestPartnerDown(slotData.SbId); } private void OnClickUpBtn(EventContext context) { } #endregion #region 属性 private int _pos; private int _sbId; #endregion public void OnRefresh(int index, int pos) { _pos = pos; var slotData = PartnersData.Instance.CurUsePlan.GetSlot(pos); _sbId = slotData?.SbId ?? 0; VM.IsUp.selectedIndex = _sbId > 0 ? 0 : 1; VM.PartnerItem.Ctrl.ShowUI(_sbId); } } }