From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/UI/XWeddingInviteView.cs | 280 +++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XWeddingInviteView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XWeddingInviteView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XWeddingInviteView.cs b/Client/Assets/Scripts/XMainClient/UI/XWeddingInviteView.cs new file mode 100644 index 00000000..67ef8323 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XWeddingInviteView.cs @@ -0,0 +1,280 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XWeddingInviteView : DlgBase + { + public override string fileName + { + get + { + return "GameSystem/Wedding/WeddingInvite"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override int group + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + protected List _tabs = new List(); + + protected int _curTab; + + protected List _curList = new List(); + + protected override void Init() + { + this.InitTabs(); + this.InitProperties(); + } + + protected override void OnUnload() + { + base.OnUnload(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + } + + protected override void OnShow() + { + base.OnShow(); + this._curList.Clear(); + this._curTab = 0; + XWeddingDocument.Doc.GetWeddingInviteInfo(); + } + + protected override void OnHide() + { + bool flag = base.uiBehaviour.AllowStranger.bChecked != XWeddingDocument.Doc.PermitStranger; + if (flag) + { + bool bChecked = base.uiBehaviour.AllowStranger.bChecked; + if (bChecked) + { + XWeddingDocument.Doc.WeddingInviteOperate(WeddingInviteOperType.Wedding_PermitStranger, 0UL, 0UL); + } + else + { + XWeddingDocument.Doc.WeddingInviteOperate(WeddingInviteOperType.Wedding_ForbidStranger, 0UL, 0UL); + } + } + } + + private bool OnCloseClicked(IXUIButton iSp) + { + this.SetVisible(false, true); + return true; + } + + private void ResetSendFlag() + { + foreach (List list in XActivityInviteDocument.Doc.MemberInfos.Values) + { + foreach (InviteMemberInfo inviteMemberInfo in list) + { + inviteMemberInfo.bSent = false; + } + } + } + + private bool OnAddFriendClicked(IXUIButton btn) + { + DlgBase.singleton.RandomFriend(); + this.SetVisible(false, true); + return true; + } + + private void InitTabs() + { + this._tabs.Clear(); + int num = 0; + foreach (object obj in base.uiBehaviour.Tabs) + { + Transform transform = (Transform)obj; + IXUICheckBox ixuicheckBox = transform.Find("Bg").GetComponent("XUICheckBox") as IXUICheckBox; + ixuicheckBox.ID = (ulong)((long)num); + ixuicheckBox.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.RefreshItems)); + num++; + this._tabs.Add(ixuicheckBox); + } + } + + private void InitProperties() + { + base.uiBehaviour.WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.WrapContentItemUpdated)); + base.uiBehaviour.WrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this.WrapContentItemInit)); + base.uiBehaviour.Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClicked)); + base.uiBehaviour.AllowStranger.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnCheckAllowStranger)); + } + + private bool OnCheckAllowStranger(IXUICheckBox iXUICheckBox) + { + return true; + } + + public void RefreshUI() + { + base.uiBehaviour.ListRedPoint.SetActive(XWeddingDocument.Doc.GetInviteRoleInfoList(WeddingInviteTab.WeddingApplyList).Count > 0); + base.uiBehaviour.AllowStranger.bChecked = XWeddingDocument.Doc.PermitStranger; + this._tabs[this._curTab].bChecked = true; + List inviteRoleInfoList = XWeddingDocument.Doc.GetInviteRoleInfoList(WeddingInviteTab.WeddingInvited); + int num = (XWeddingDocument.Doc.GetMyWeddingType() == WeddingType.WeddingType_Normal) ? XSingleton.singleton.GetInt("NormalWeddingInviteNum") : XSingleton.singleton.GetInt("LuxuryWeddingInviteNum"); + base.uiBehaviour.InviteNum.SetText(inviteRoleInfoList.Count + "/" + num); + this.RefreshContent(); + } + + public bool RefreshItems(IXUICheckBox go) + { + bool bChecked = go.bChecked; + if (bChecked) + { + this._curTab = (int)go.ID; + this.RefreshContent(); + } + return true; + } + + private void WrapContentItemInit(Transform t, int index) + { + } + + private void RefreshContent() + { + this._curList = XWeddingDocument.Doc.GetInviteRoleInfoList((WeddingInviteTab)this._curTab); + base.uiBehaviour.WrapContent.SetContentCount(this._curList.Count, false); + base.uiBehaviour.ScrollView.ResetPosition(); + } + + private void WrapContentItemUpdated(Transform t, int index) + { + bool flag = index < this._curList.Count; + if (flag) + { + WeddingRoleInfo weddingRoleInfo = this._curList[index]; + IXUISprite ixuisprite = t.Find("head").GetComponent("XUISprite") as IXUISprite; + IXUISprite ixuisprite2 = t.Find("ProfIcon").GetComponent("XUISprite") as IXUISprite; + IXUILabelSymbol ixuilabelSymbol = t.Find("name").GetComponent("XUILabelSymbol") as IXUILabelSymbol; + IXUILabel ixuilabel = t.Find("name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = t.Find("level").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = t.Find("PPT").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel4 = t.Find("guild").GetComponent("XUILabel") as IXUILabel; + Transform transform = t.Find("friendFlag"); + ixuilabel.SetText(weddingRoleInfo.name); + ixuisprite.spriteName = XSingleton.singleton.GetProfHeadIcon2((int)weddingRoleInfo.profession); + ixuisprite2.spriteName = XSingleton.singleton.GetProfIcon((int)weddingRoleInfo.profession); + ixuilabel3.SetText(weddingRoleInfo.ppt.ToString()); + ixuilabel4.SetText(weddingRoleInfo.guildName); + ixuilabel2.SetText(weddingRoleInfo.level.ToString()); + IXUIButton ixuibutton = t.Find("Invite").GetComponent("XUIButton") as IXUIButton; + ixuibutton.SetEnable(true, false); + ixuibutton.ID = weddingRoleInfo.roleID; + Transform transform2 = ixuibutton.gameObject.transform.Find("InviteText"); + IXUILabel ixuilabel5 = ixuibutton.gameObject.transform.Find("ComedIn").GetComponent("XUILabel") as IXUILabel; + IXUIButton ixuibutton2 = t.Find("Agree").GetComponent("XUIButton") as IXUIButton; + IXUIButton ixuibutton3 = t.Find("Refuse").GetComponent("XUIButton") as IXUIButton; + ixuibutton2.ID = weddingRoleInfo.roleID; + ixuibutton3.ID = weddingRoleInfo.roleID; + transform.gameObject.SetActive(this._curTab == 0); + ixuilabel4.gameObject.SetActive(this._curTab == 1); + ixuibutton2.gameObject.SetActive(false); + ixuibutton3.gameObject.SetActive(false); + switch (this._curTab) + { + case 0: + case 1: + ixuibutton.gameObject.SetActive(true); + transform2.gameObject.SetActive(true); + ixuilabel5.gameObject.SetActive(false); + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.ToInviteToCome)); + break; + case 2: + ixuibutton.gameObject.SetActive(true); + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickToChat)); + ixuibutton.SetEnable(!weddingRoleInfo.entered, false); + transform2.gameObject.SetActive(false); + ixuilabel5.gameObject.SetActive(true); + ixuilabel5.SetText(weddingRoleInfo.entered ? XSingleton.singleton.GetString("WeddingAreadyCome") : XSingleton.singleton.GetString("WeddingInvitedNotCome")); + break; + case 3: + ixuibutton2.gameObject.SetActive(true); + ixuibutton3.gameObject.SetActive(true); + ixuibutton2.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickToAgree)); + ixuibutton3.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickToRefuse)); + ixuibutton.gameObject.SetActive(false); + break; + } + } + } + + private bool ClickToChat(IXUIButton button) + { + WeddingRoleInfo weddingRoleInfo = null; + for (int i = 0; i < this._curList.Count; i++) + { + bool flag = this._curList[i].roleID == button.ID; + if (flag) + { + weddingRoleInfo = this._curList[i]; + break; + } + } + bool flag2 = weddingRoleInfo != null; + if (flag2) + { + DlgBase.singleton.SetPlayerInfo(weddingRoleInfo.roleID, weddingRoleInfo.name, new List(), weddingRoleInfo.ppt, weddingRoleInfo.profession); + DlgBase.singleton.PrivateChat(null); + } + return true; + } + + private bool ClickToRefuse(IXUIButton button) + { + ulong id = button.ID; + XWeddingDocument.Doc.WeddingInviteOperate(WeddingInviteOperType.Wedding_DisagreeApply, id, 0UL); + return true; + } + + private bool ClickToAgree(IXUIButton button) + { + ulong id = button.ID; + XWeddingDocument.Doc.WeddingInviteOperate(WeddingInviteOperType.Wedding_AgreeApply, id, 0UL); + return true; + } + + private bool ToInviteToCome(IXUIButton button) + { + ulong id = button.ID; + XWeddingDocument.Doc.WeddingInviteOperate(WeddingInviteOperType.Wedding_Invite, id, XWeddingDocument.Doc.MyWeddingID); + return true; + } + } +} -- cgit v1.1-26-g67d0