From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/XBackFlowServerHandler.cs | 354 +++++++++++++++++++++ 1 file changed, 354 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XBackFlowServerHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/XBackFlowServerHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/XBackFlowServerHandler.cs b/Client/Assets/Scripts/XMainClient/XBackFlowServerHandler.cs new file mode 100644 index 00000000..74183a1d --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XBackFlowServerHandler.cs @@ -0,0 +1,354 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XBackFlowServerHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "Hall/BfRecommendHandler"; + } + } + + private IXUISprite _chooseServer; + + private IXUISprite _chooseRole; + + private IXUISprite _serverBlock; + + private IXUISprite _roleBlock; + + private IXUIButton _btnGo; + + private Transform _serverList; + + private IXUIScrollView _serverScrollView; + + private IXUIWrapContent _serverWrapContent; + + private Transform _roleList; + + private IXUIScrollView _roleScrollView; + + private IXUIWrapContent _roleWrapContent; + + private IXUILabel _serverLabel; + + private IXUILabel _roleLabel; + + private IXUILabel _descibleLabel; + + private IXUILabel _btnLabel; + + private uint _selectedServerid = 0u; + + private List _ServerListData = new List(); + + private ulong _selectedRoleRoleID = 0UL; + + private List _roleListData = new List(); + + protected override void Init() + { + base.Init(); + this._chooseServer = (base.transform.Find("Server/Response/Select0/Bg").GetComponent("XUISprite") as IXUISprite); + this._chooseRole = (base.transform.Find("Server/Response/Select1/Bg").GetComponent("XUISprite") as IXUISprite); + this._serverList = base.transform.Find("Server/Response/ServerList"); + this._serverBlock = (this._serverList.Find("Block").GetComponent("XUISprite") as IXUISprite); + this._serverScrollView = (this._serverList.Find("ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); + this._serverWrapContent = (this._serverList.Find("ScrollView/WrapContent").GetComponent("XUIWrapContent") as IXUIWrapContent); + this._roleList = base.transform.Find("Server/Response/RoleList"); + this._roleBlock = (this._roleList.Find("Block").GetComponent("XUISprite") as IXUISprite); + this._roleScrollView = (this._roleList.Find("ScrollView").GetComponent("XUIScrollView") as IXUIScrollView); + this._roleWrapContent = (this._roleList.Find("ScrollView/WrapContent").GetComponent("XUIWrapContent") as IXUIWrapContent); + this._btnGo = (base.transform.Find("BtnGo").GetComponent("XUIButton") as IXUIButton); + this._serverLabel = (base.transform.Find("Server/Response/Select0/ServerName").GetComponent("XUILabel") as IXUILabel); + this._roleLabel = (base.transform.Find("Server/Response/Select1/RoleName").GetComponent("XUILabel") as IXUILabel); + this._descibleLabel = (base.transform.Find("Server/Task").GetComponent("XUILabel") as IXUILabel); + this._btnLabel = (base.transform.Find("BtnGo/Text").GetComponent("XUILabel") as IXUILabel); + this._chooseRole.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnShowRoleList)); + this._chooseServer.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnShowServerList)); + this._serverBlock.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnCloseServerList)); + this._roleBlock.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnCloseRoleList)); + this._serverWrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnUpdateServerItem)); + this._serverWrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this.OnInitServerItem)); + this._roleWrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnUpdateRoleItem)); + this._roleWrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this.OnInitRoleItem)); + this._btnGo.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnConfirmSelect)); + this.RefreshRewards(); + } + + private void UpdateDesLabel() + { + string @string = XStringDefineProxy.GetString("backMassage"); + SeqList sequence3List = XSingleton.singleton.GetSequence3List("NewZoneChargeBackTime", false); + SeqList sequence3List2 = XSingleton.singleton.GetSequence3List("NewZoneOpenTime", false); + SeqList sequenceList = XSingleton.singleton.GetSequenceList("NewZoneChargeBackRange", false); + SeqList sequence3List3 = XSingleton.singleton.GetSequence3List("NewZoneChargeBackRewardEndTime", false); + string string2 = XStringDefineProxy.GetString("TIME_FORMAT_YYMMDD"); + string text = new DateTime(sequence3List[0, 0], sequence3List[0, 1], sequence3List[0, 2]).ToString(string2) + "--" + new DateTime(sequence3List[1, 0], sequence3List[1, 1], sequence3List[1, 2]).ToString(string2); + string text2 = new DateTime(sequence3List2[0, 0], sequence3List2[0, 1], sequence3List2[0, 2]).ToString(string2); + string text3 = sequenceList[(int)(sequenceList.Count - 1), 0].ToString(); + int @int = XSingleton.singleton.GetInt("NewZoneChargeBackRate"); + int int2 = XSingleton.singleton.GetInt("NewZoneChargeBackMax"); + string text4 = @int.ToString(); + string text5 = Mathf.Min((float)int2, (float)@int / 100f * XBackFlowDocument.Doc.TotalPay).ToString(); + string text6 = new DateTime(sequence3List3[0, 0], sequence3List3[0, 1], sequence3List3[0, 2]).ToString(string2); + this._descibleLabel.SetText(string.Format(@string, new object[] + { + text, + text2, + text3, + text4, + text5, + text6, + text3 + })); + } + + private bool OnConfirmSelect(IXUIButton button) + { + bool flag = this._selectedRoleRoleID > 0UL; + if (flag) + { + string message = XSingleton.singleton.ReplaceReturn(XStringDefineProxy.GetString("BackFlowBindConfirmTip")); + XSingleton.singleton.ShowModalDialog(message, new ButtonClickEventHandler(this.ToConfirmBind)); + } + return true; + } + + private bool ToConfirmBind(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XBackFlowDocument.Doc.SendToSelectRoleServer(this._selectedRoleRoleID); + return true; + } + + private void OnCloseServerList(IXUISprite uiSprite) + { + this._serverList.gameObject.SetActive(false); + } + + private void OnCloseRoleList(IXUISprite uiSprite) + { + this._roleList.gameObject.SetActive(false); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + } + + protected override void OnShow() + { + base.OnShow(); + this._selectedRoleRoleID = 0UL; + this._selectedServerid = 0u; + this._ServerListData.Clear(); + this._roleListData.Clear(); + this._serverList.gameObject.SetActive(false); + this._roleList.gameObject.SetActive(false); + this._btnGo.SetEnable(false, false); + XBackFlowDocument.Doc.SendToGetNewZoneBenefit(); + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void OnUnload() + { + base.OnUnload(); + } + + public override void RefreshData() + { + base.RefreshData(); + this.RefreshUI(); + } + + private void RefreshUI() + { + this.UpdateDesLabel(); + this._btnGo.SetEnable(XBackFlowDocument.Doc.SelectedRoleID == 0UL && !XBackFlowDocument.Doc.CanSelectRole && XBackFlowDocument.Doc.IsPayReturnOpen, false); + bool flag = XBackFlowDocument.Doc.SelectedRoleID > 0UL; + if (flag) + { + this._btnLabel.SetText(XStringDefineProxy.GetString("BackFlowPayBackRoleSelected")); + } + else + { + bool flag2 = !XBackFlowDocument.Doc.IsPayReturnOpen; + if (flag2) + { + this._btnLabel.SetText(XStringDefineProxy.GetString("BackFlowPayBackOverdue")); + } + else + { + this._btnLabel.SetText(XStringDefineProxy.GetString("BackFlowPayBackToBind")); + } + } + bool flag3 = XBackFlowDocument.Doc.SelectedRoleID > 0UL; + if (flag3) + { + List serverRoleList = XBackFlowDocument.Doc.ServerRoleList; + for (int i = 0; i < serverRoleList.Count; i++) + { + bool flag4 = serverRoleList[i].roleid == XBackFlowDocument.Doc.SelectedRoleID; + if (flag4) + { + this._serverLabel.SetText(serverRoleList[i].servername); + this._roleLabel.SetText(serverRoleList[i].rolename); + break; + } + } + } + else + { + this._ServerListData = XBackFlowDocument.Doc.GetServerList(); + this._serverLabel.SetText(XStringDefineProxy.GetString("BackFlowToSelServer")); + this._roleLabel.SetText(XStringDefineProxy.GetString("BackFlowToSelRole")); + } + } + + private void OnInitRoleItem(Transform itemTransform, int index) + { + IXUISprite ixuisprite = itemTransform.GetComponent("XUISprite") as IXUISprite; + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnSelectRoleItem)); + } + + private void OnSelectRoleItem(IXUISprite uiSprite) + { + this._selectedRoleRoleID = uiSprite.ID; + this._roleList.gameObject.SetActive(false); + bool flag = this._selectedRoleRoleID > 0UL; + if (flag) + { + List serverRoleList = XBackFlowDocument.Doc.ServerRoleList; + for (int i = 0; i < serverRoleList.Count; i++) + { + bool flag2 = this._selectedRoleRoleID == serverRoleList[i].roleid; + if (flag2) + { + this._roleLabel.SetText(serverRoleList[i].rolename); + break; + } + } + } + } + + private void OnInitServerItem(Transform itemTransform, int index) + { + IXUISprite ixuisprite = itemTransform.GetComponent("XUISprite") as IXUISprite; + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnSelectServerItem)); + } + + private void OnSelectServerItem(IXUISprite uiSprite) + { + this._serverList.gameObject.SetActive(false); + bool flag = (uint)uiSprite.ID != this._selectedServerid; + if (flag) + { + this._selectedServerid = (uint)uiSprite.ID; + List serverRoleList = XBackFlowDocument.Doc.ServerRoleList; + for (int i = 0; i < serverRoleList.Count; i++) + { + bool flag2 = this._selectedServerid == serverRoleList[i].serverid; + if (flag2) + { + this._serverLabel.SetText(serverRoleList[i].servername); + break; + } + } + this._selectedRoleRoleID = 0UL; + this._roleLabel.SetText(XStringDefineProxy.GetString("BackFlowToSelRole")); + } + } + + private void OnUpdateRoleItem(Transform itemTransform, int index) + { + bool flag = index < this._roleListData.Count; + if (flag) + { + IXUISprite ixuisprite = itemTransform.GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = this._roleListData[index]; + IXUILabel ixuilabel = itemTransform.Find("T").GetComponent("XUILabel") as IXUILabel; + List serverRoleList = XBackFlowDocument.Doc.ServerRoleList; + for (int i = 0; i < serverRoleList.Count; i++) + { + bool flag2 = this._roleListData[index] == serverRoleList[i].roleid; + if (flag2) + { + ixuilabel.SetText(serverRoleList[i].rolename); + break; + } + } + } + } + + private void OnUpdateServerItem(Transform itemTransform, int index) + { + bool flag = index < this._ServerListData.Count; + if (flag) + { + IXUISprite ixuisprite = itemTransform.GetComponent("XUISprite") as IXUISprite; + ixuisprite.ID = (ulong)this._ServerListData[index]; + IXUILabel ixuilabel = itemTransform.Find("T").GetComponent("XUILabel") as IXUILabel; + List serverRoleList = XBackFlowDocument.Doc.ServerRoleList; + for (int i = 0; i < serverRoleList.Count; i++) + { + bool flag2 = this._ServerListData[index] == serverRoleList[i].serverid; + if (flag2) + { + ixuilabel.SetText(serverRoleList[i].servername); + break; + } + } + } + } + + private void OnShowServerList(IXUISprite uiSprite) + { + bool flag = XBackFlowDocument.Doc.SelectedRoleID == 0UL; + if (flag) + { + this._serverList.gameObject.SetActive(true); + this._serverWrapContent.SetContentCount(this._ServerListData.Count, false); + this._serverScrollView.ResetPosition(); + } + } + + private void OnShowRoleList(IXUISprite uiSprite) + { + bool flag = XBackFlowDocument.Doc.SelectedRoleID == 0UL; + if (flag) + { + bool flag2 = this._ServerListData.Contains(this._selectedServerid); + if (flag2) + { + this._roleListData = XBackFlowDocument.Doc.GetRoleListByServerid(this._selectedServerid); + this._roleList.gameObject.SetActive(true); + this._roleWrapContent.SetContentCount(this._roleListData.Count, false); + this._roleScrollView.ResetPosition(); + } + else + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("PleaseSelectServerFirst"), "fece00"); + } + } + } + + private void RefreshRewards() + { + } + } +} -- cgit v1.1-26-g67d0