From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/UI/WeddingEnterApplyView.cs | 290 +++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/WeddingEnterApplyView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/WeddingEnterApplyView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/WeddingEnterApplyView.cs b/Client/Assets/Scripts/XMainClient/UI/WeddingEnterApplyView.cs new file mode 100644 index 00000000..e4454cb7 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/WeddingEnterApplyView.cs @@ -0,0 +1,290 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class WeddingEnterApplyView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/Wedding/WeddingEnterApplyDlg"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override int group + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + private int m_SelectedTab = -1; + + private uint _CDToken = 0u; + + private List m_TimeLabelList = new List(); + + private List m_TimeInvID = new List(); + + private Dictionary m_TimeDic = new Dictionary(); + + protected override void Init() + { + base.uiBehaviour.m_EmptyList.SetText(XSingleton.singleton.GetString("WeddingEnterEmpty")); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_ToggleEnter.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this._OnToggleChanged)); + base.uiBehaviour.m_ToggleApply.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this._OnToggleChanged)); + base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._WrapContentItemUpdated)); + base.uiBehaviour.m_ClosedSpr.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnCloseClicked)); + base.uiBehaviour.m_GoApplyTab.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnGoApplyTabClicked)); + } + + protected override void OnShow() + { + base.OnShow(); + base.uiBehaviour.m_ToggleEnter.bChecked = true; + XWeddingDocument specificDocument = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + specificDocument.GetAllWeddingInfo(); + } + + protected override void OnHide() + { + base.OnHide(); + XSingleton.singleton.KillTimer(this._CDToken); + } + + public override void StackRefresh() + { + XWeddingDocument specificDocument = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + specificDocument.GetAllWeddingInfo(); + } + + public void RefreshInfo() + { + bool flag = this.m_SelectedTab < 0; + if (!flag) + { + bool active = this.m_SelectedTab == 0 && this.GetCurrWeddingList().Count == 0; + base.uiBehaviour.m_EmptyList.gameObject.SetActive(active); + base.uiBehaviour.m_GoApplyTab.gameObject.SetActive(active); + bool active2 = this.m_SelectedTab == 1 && this.GetCurrWeddingList().Count == 0; + base.uiBehaviour.m_EmptyList2.gameObject.SetActive(active2); + this.StartTimer(); + base.uiBehaviour.m_WrapContent.SetContentCount(this.GetCurrWeddingList().Count, false); + } + } + + private List GetCurrWeddingList() + { + XWeddingDocument specificDocument = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + bool flag = this.m_SelectedTab == 0; + List result; + if (flag) + { + result = specificDocument.CanEnterWedding; + } + else + { + result = specificDocument.CanApplyWedding; + } + return result; + } + + private void _WrapContentItemUpdated(Transform t, int index) + { + bool flag = this.m_SelectedTab < 0; + if (!flag) + { + bool flag2 = index >= this.GetCurrWeddingList().Count; + if (!flag2) + { + List currWeddingList = this.GetCurrWeddingList(); + WeddingBriefInfo weddingBriefInfo = currWeddingList[index]; + bool flag3 = weddingBriefInfo == null; + if (!flag3) + { + IXUILabel ixuilabel = t.Find("Name").GetComponent("XUILabel") as IXUILabel; + string @string = XStringDefineProxy.GetString((weddingBriefInfo.brief.type == WeddingType.WeddingType_Normal) ? "WeddingEnterApplyNameN" : "WeddingEnterApplyNameS", new object[] + { + weddingBriefInfo.brief.role1.name, + weddingBriefInfo.brief.role2.name + }); + ixuilabel.SetText(@string); + IXUILabel ixuilabel2 = t.Find("Invited").GetComponent("XUILabel") as IXUILabel; + ixuilabel2.SetText((this.m_SelectedTab == 0) ? XStringDefineProxy.GetString("WeddingEnterApplyType1") : XStringDefineProxy.GetString("WeddingEnterApplyType2")); + IXUIButton ixuibutton = t.Find("Invited/BtnInvite").GetComponent("XUIButton") as IXUIButton; + ixuibutton.ID = weddingBriefInfo.brief.weddingid; + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnWeddingBtnClicked)); + ixuilabel2.gameObject.SetActive(!weddingBriefInfo.isApply); + GameObject gameObject = t.Find("Bg2").gameObject; + gameObject.SetActive(weddingBriefInfo.isApply); + IXUILabel ixuilabel3 = t.Find("Time").GetComponent("XUILabel") as IXUILabel; + int num = this.m_TimeLabelList.IndexOf(ixuilabel3); + bool flag4 = num >= 0 && num < this.m_TimeInvID.Count; + if (flag4) + { + this.m_TimeInvID[num] = weddingBriefInfo.brief.weddingid; + } + else + { + this.m_TimeLabelList.Add(ixuilabel3); + this.m_TimeInvID.Add(weddingBriefInfo.brief.weddingid); + } + uint num2; + bool flag5 = this.m_TimeDic.TryGetValue(weddingBriefInfo.brief.weddingid, out num2); + if (flag5) + { + bool flag6 = num2 > 0u; + if (flag6) + { + ixuilabel3.SetText(XSingleton.singleton.TimeFormatString((int)num2, 2, 3, 4, false, true)); + } + else + { + ixuilabel3.SetText(XSingleton.singleton.GetString("WeddingEnterApplyEnd")); + } + } + } + } + } + } + + public void StartTimer() + { + bool flag = !base.IsVisible(); + if (!flag) + { + this.m_TimeLabelList.Clear(); + this.m_TimeInvID.Clear(); + this.m_TimeDic.Clear(); + List currWeddingList = this.GetCurrWeddingList(); + for (int i = 0; i < currWeddingList.Count; i++) + { + this.m_TimeDic[currWeddingList[i].brief.weddingid] = currWeddingList[i].brief.lefttime; + } + XSingleton.singleton.KillTimer(this._CDToken); + this._CDToken = XSingleton.singleton.SetTimer(1f, new XTimerMgr.ElapsedEventHandler(this.LeftTimeUpdate), null); + } + } + + private void LeftTimeUpdate(object o) + { + List currWeddingList = this.GetCurrWeddingList(); + for (int i = 0; i < currWeddingList.Count; i++) + { + bool flag = currWeddingList[i].brief.lefttime > 0u; + if (flag) + { + WeddingBrief brief = currWeddingList[i].brief; + uint lefttime = brief.lefttime; + brief.lefttime = lefttime - 1u; + } + this.m_TimeDic[currWeddingList[i].brief.weddingid] = currWeddingList[i].brief.lefttime; + int num = this.m_TimeInvID.IndexOf(currWeddingList[i].brief.weddingid); + bool flag2 = num >= 0 && num < this.m_TimeLabelList.Count; + if (flag2) + { + IXUILabel ixuilabel = this.m_TimeLabelList[num]; + bool flag3 = ixuilabel.IsVisible(); + if (flag3) + { + bool flag4 = currWeddingList[i].brief.lefttime > 0u; + if (flag4) + { + ixuilabel.SetText(XSingleton.singleton.TimeFormatString((int)currWeddingList[i].brief.lefttime, 2, 3, 4, false, true)); + } + else + { + ixuilabel.SetText(XSingleton.singleton.GetString("WeddingEnterApplyEnd")); + } + } + } + } + XSingleton.singleton.KillTimer(this._CDToken); + this._CDToken = XSingleton.singleton.SetTimer(1f, new XTimerMgr.ElapsedEventHandler(this.LeftTimeUpdate), null); + } + + private bool OnWeddingBtnClicked(IXUIButton btn) + { + ulong id = btn.ID; + XWeddingDocument specificDocument = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + bool flag = this.m_SelectedTab == 0; + if (flag) + { + specificDocument.EnterWedding(id); + } + else + { + specificDocument.WeddingInviteOperate(WeddingInviteOperType.Wedding_Apply, XSingleton.singleton.XPlayerData.RoleID, id); + this.UpdateApplyBtnState(btn); + } + return true; + } + + public void UpdateApplyBtnState(IXUIButton btn) + { + GameObject gameObject = btn.gameObject.transform.parent.parent.Find("Bg2").gameObject; + gameObject.SetActive(true); + btn.gameObject.transform.parent.gameObject.SetActive(false); + } + + private bool OnGoApplyTabClicked(IXUIButton btn) + { + base.uiBehaviour.m_ToggleApply.bChecked = true; + return true; + } + + private bool _OnCloseClicked(IXUIButton iSp) + { + this.SetVisible(false, true); + return true; + } + + private bool _OnToggleChanged(IXUICheckBox go) + { + bool flag = !go.bChecked; + bool result; + if (flag) + { + result = true; + } + else + { + this.m_SelectedTab = (int)go.ID; + base.uiBehaviour.m_Title.SetText((this.m_SelectedTab == 0) ? XStringDefineProxy.GetString("WeddingEnterApplyTab1") : XStringDefineProxy.GetString("WeddingEnterApplyTab2")); + XWeddingDocument specificDocument = XDocuments.GetSpecificDocument(XWeddingDocument.uuID); + specificDocument.GetAllWeddingInfo(); + result = true; + } + return result; + } + } +} -- cgit v1.1-26-g67d0