From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/XDragonPartnerHandler.cs | 147 +++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XDragonPartnerHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XDragonPartnerHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XDragonPartnerHandler.cs b/Client/Assets/Scripts/XMainClient/UI/XDragonPartnerHandler.cs new file mode 100644 index 00000000..a2d90e2b --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XDragonPartnerHandler.cs @@ -0,0 +1,147 @@ +using System; +using UILib; +using UnityEngine; + +namespace XMainClient.UI +{ + internal class XDragonPartnerHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "GameSystem/DragonPartnerFrame"; + } + } + + private XDragonPartnerDocument m_doc; + + private XDragonPartnerHandler.TabIndex m_CurrentTabIndex = XDragonPartnerHandler.TabIndex.Record; + + private XDragonRecordHandler m_DragonRecordHandler; + + private XDragonHistoryHandler m_DragonHistoryHandler; + + private IXUICheckBox m_Tab0; + + private IXUICheckBox m_Tab1; + + private GameObject m_RecordFrame; + + private GameObject m_HistoryFrame; + + private enum TabIndex + { + Record, + History, + Max + } + + protected override void Init() + { + base.Init(); + this.m_doc = XDocuments.GetSpecificDocument(XDragonPartnerDocument.uuID); + this.m_doc.View = this; + this.m_Tab0 = (base.PanelObject.transform.Find("padTabs/TabTpl0/Bg").GetComponent("XUICheckBox") as IXUICheckBox); + this.m_Tab1 = (base.PanelObject.transform.Find("padTabs/TabTpl1/Bg").GetComponent("XUICheckBox") as IXUICheckBox); + this.m_Tab0.ID = 0UL; + this.m_Tab0.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnClickTab)); + this.m_Tab1.ID = 1UL; + this.m_Tab1.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnClickTab)); + this.m_RecordFrame = base.PanelObject.transform.Find("DragonNestRecordingFrame").gameObject; + this.m_HistoryFrame = base.PanelObject.transform.Find("historyFrame").gameObject; + DlgHandlerBase.EnsureCreate(ref this.m_DragonRecordHandler, this.m_RecordFrame, this, false); + DlgHandlerBase.EnsureCreate(ref this.m_DragonHistoryHandler, this.m_HistoryFrame, this, false); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + } + + protected override void OnShow() + { + base.OnShow(); + this._ApplyTabData(this.m_CurrentTabIndex); + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void OnUnload() + { + DlgHandlerBase.EnsureUnload(ref this.m_DragonHistoryHandler); + DlgHandlerBase.EnsureUnload(ref this.m_DragonRecordHandler); + bool flag = this.m_doc != null; + if (flag) + { + this.m_doc.View = null; + } + base.OnUnload(); + } + + private bool OnClickTab(IXUICheckBox cbx) + { + bool bChecked = cbx.bChecked; + if (bChecked) + { + this.m_CurrentTabIndex = (XDragonPartnerHandler.TabIndex)cbx.ID; + this._ApplyTabData(this.m_CurrentTabIndex); + } + return true; + } + + private void _ApplyTabData(XDragonPartnerHandler.TabIndex tab) + { + bool flag = base.IsVisible(); + bool flag2 = flag; + if (flag2) + { + XDragonPartnerHandler.TabIndex currentTabIndex = this.m_CurrentTabIndex; + if (currentTabIndex != XDragonPartnerHandler.TabIndex.Record) + { + if (currentTabIndex == XDragonPartnerHandler.TabIndex.History) + { + this.m_DragonRecordHandler.SetVisible(false); + this.m_DragonHistoryHandler.SetVisible(true); + } + } + else + { + this.m_DragonRecordHandler.SetVisible(true); + this.m_DragonHistoryHandler.SetVisible(false); + } + } + } + + public override void RefreshData() + { + bool flag = !base.IsVisible(); + if (!flag) + { + XDragonPartnerHandler.TabIndex currentTabIndex = this.m_CurrentTabIndex; + if (currentTabIndex != XDragonPartnerHandler.TabIndex.Record) + { + if (currentTabIndex == XDragonPartnerHandler.TabIndex.History) + { + bool flag2 = this.m_DragonHistoryHandler.IsVisible(); + if (flag2) + { + this.m_DragonHistoryHandler.RefreshData(); + } + } + } + else + { + bool flag3 = this.m_DragonRecordHandler.IsVisible(); + if (flag3) + { + this.m_DragonRecordHandler.RefreshData(); + } + } + } + } + } +} -- cgit v1.1-26-g67d0