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/XGuildViewView.cs | 172 +++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XGuildViewView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XGuildViewView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XGuildViewView.cs b/Client/Assets/Scripts/XMainClient/UI/XGuildViewView.cs new file mode 100644 index 00000000..86fc7f19 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XGuildViewView.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XGuildViewView : DlgBase + { + public override string fileName + { + get + { + return "Guild/GuildViewDlg"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override int group + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + public override bool hideMainMenu + { + get + { + return true; + } + } + + public override bool fullscreenui + { + get + { + return true; + } + } + + public override bool pushstack + { + get + { + return true; + } + } + + private XGuildDocument _GuildDoc; + + private XGuildViewDocument _ViewDoc; + + private XGuildMemberInfoDisplay _MemberInfoDisplay = new XGuildMemberInfoDisplay(); + + protected override void Init() + { + this._GuildDoc = XDocuments.GetSpecificDocument(XGuildDocument.uuID); + this._ViewDoc = XDocuments.GetSpecificDocument(XGuildViewDocument.uuID); + this._ViewDoc.GuildViewView = this; + } + + protected override void OnUnload() + { + this._ViewDoc.GuildViewView = null; + } + + public override void RegisterEvent() + { + base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnCloseBtnClick)); + base.uiBehaviour.m_BtnApply.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnApplyBtnClick)); + base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._WrapContentItemUpdated)); + base.uiBehaviour.m_WrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this._WrapContentItemInit)); + } + + protected override void OnShow() + { + base.uiBehaviour.m_BtnApply.SetEnable(XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Guild) && !this._GuildDoc.bInGuild, false); + } + + private bool _OnCloseBtnClick(IXUIButton go) + { + this.SetVisible(false, true); + return true; + } + + private bool _OnApplyBtnClick(IXUIButton go) + { + bool bInGuild = this._GuildDoc.bInGuild; + bool result; + if (bInGuild) + { + XSingleton.singleton.ShowSystemTip(ErrorCode.ERR_GUILD_ALREADY_IN_GUILD, "fece00"); + result = true; + } + else + { + DlgBase.singleton.ShowApply(this._ViewDoc.BasicData.uid, this._ViewDoc.BasicData.guildName, (uint)this._ViewDoc.ApproveSetting.PPT, !this._ViewDoc.ApproveSetting.autoApprove, this._ViewDoc.BasicData.announcement); + result = true; + } + return result; + } + + public void RefreshAnnouncement() + { + XGuildBasicData basicData = this._ViewDoc.BasicData; + base.uiBehaviour.m_Annoucement.SetText(basicData.announcement); + } + + public void RefreshBasicInfo() + { + XGuildBasicData basicData = this._ViewDoc.BasicData; + base.uiBehaviour.m_BasicInfoDisplay.Set(basicData); + this.RefreshAnnouncement(); + } + + public void RefreshMembers() + { + List memberList = this._ViewDoc.MemberList; + int count = memberList.Count; + base.uiBehaviour.m_WrapContent.SetContentCount(count, false); + base.uiBehaviour.m_ScrollView.ResetPosition(); + } + + private void _WrapContentItemInit(Transform t, int index) + { + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnMemberClick)); + } + + private void _WrapContentItemUpdated(Transform t, int index) + { + bool flag = index < 0 || index >= this._ViewDoc.MemberList.Count; + if (!flag) + { + XGuildMemberBasicInfo data = this._ViewDoc.MemberList[index]; + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + this._MemberInfoDisplay.Init(t, false); + this._MemberInfoDisplay.Set(data); + ixuisprite.ID = (ulong)((long)index); + } + } + + private void _OnMemberClick(IXUISprite iSp) + { + int num = (int)iSp.ID; + bool flag = num < 0 || num >= this._ViewDoc.MemberList.Count; + if (flag) + { + } + } + } +} -- cgit v1.1-26-g67d0