From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/Guild/XGuildViewDocument.cs | 162 +++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Guild/XGuildViewDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/Guild/XGuildViewDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/Guild/XGuildViewDocument.cs b/Client/Assets/Scripts/XMainClient/Guild/XGuildViewDocument.cs new file mode 100644 index 00000000..9ff9a979 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Guild/XGuildViewDocument.cs @@ -0,0 +1,162 @@ +using System; +using System.Collections.Generic; +using KKSG; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XGuildViewDocument : XDocComponent + { + public override uint ID + { + get + { + return XGuildViewDocument.uuID; + } + } + + public XGuildViewView GuildViewView { get; set; } + + public List MemberList + { + get + { + return this.m_MemberList; + } + } + + public XGuildBasicData BasicData + { + get + { + return this.m_BasicData; + } + } + + public GuildApproveSetting ApproveSetting + { + get + { + return this._ApproveSetting; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("GuildViewDocument"); + + private List m_MemberList = new List(); + + private XGuildBasicData m_BasicData = new XGuildBasicData(); + + private GuildApproveSetting _ApproveSetting = new GuildApproveSetting(); + + public void View(XGuildBasicData basicData) + { + this.m_BasicData = basicData; + this.ReqInfo(basicData.uid); + bool flag = !DlgBase.singleton.IsVisible(); + if (flag) + { + DlgBase.singleton.SetVisibleWithAnimation(true, null); + } + } + + public void View(ulong id) + { + this.m_BasicData.uid = id; + this.ReqInfo(this.m_BasicData.uid); + bool flag = !DlgBase.singleton.IsVisible(); + if (flag) + { + DlgBase.singleton.SetVisibleWithAnimation(true, null); + } + } + + public void ReqInfo(ulong uid) + { + RpcC2M_AskGuildBriefInfo rpcC2M_AskGuildBriefInfo = new RpcC2M_AskGuildBriefInfo(); + rpcC2M_AskGuildBriefInfo.oArg.guildid = uid; + XSingleton.singleton.Send(rpcC2M_AskGuildBriefInfo); + RpcC2M_AskGuildMembers rpcC2M_AskGuildMembers = new RpcC2M_AskGuildMembers(); + rpcC2M_AskGuildMembers.oArg.guildid = uid; + XSingleton.singleton.Send(rpcC2M_AskGuildMembers); + } + + public void OnGuildBrief(GuildBriefRes oRes) + { + bool flag = oRes.result > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(oRes.result, "fece00"); + } + else + { + this.m_BasicData.Init(oRes); + this.ApproveSetting.autoApprove = (oRes.needApproval == 0); + this.ApproveSetting.PPT = (int)oRes.recuritppt; + bool flag2 = this.GuildViewView != null && this.GuildViewView.IsVisible(); + if (flag2) + { + this.GuildViewView.RefreshBasicInfo(); + } + } + } + + public void onGetMemberList(GuildMemberRes oRes) + { + bool flag = oRes.result > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(oRes.result, "fece00"); + } + else + { + int num = oRes.members.Count - this.m_MemberList.Count; + for (int i = 0; i < num; i++) + { + XGuildMemberBasicInfo item = new XGuildMemberBasicInfo(); + this.m_MemberList.Add(item); + } + bool flag2 = num < 0; + if (flag2) + { + this.m_MemberList.RemoveRange(this.m_MemberList.Count + num, -num); + } + for (int j = 0; j < oRes.members.Count; j++) + { + XGuildMemberBasicInfo xguildMemberBasicInfo = this.m_MemberList[j]; + GuildMemberData guildMemberData = oRes.members[j]; + xguildMemberBasicInfo.uid = guildMemberData.roleid; + xguildMemberBasicInfo.name = guildMemberData.name; + xguildMemberBasicInfo.position = (GuildPosition)guildMemberData.position; + xguildMemberBasicInfo.profession = XFastEnumIntEqualityComparer.ToInt(guildMemberData.profession); + xguildMemberBasicInfo.level = guildMemberData.level; + xguildMemberBasicInfo.ppt = guildMemberData.ppt; + xguildMemberBasicInfo.time = (int)guildMemberData.lastlogin; + } + bool flag3 = this.GuildViewView != null && this.GuildViewView.IsVisible(); + if (flag3) + { + this.GuildViewView.RefreshMembers(); + } + } + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + bool flag = this.GuildViewView != null && this.GuildViewView.IsVisible(); + if (flag) + { + this.ReqInfo(this.m_BasicData.uid); + } + } + + public static void OnGuildHyperLinkClick(string param) + { + ulong id = ulong.Parse(param); + XGuildViewDocument specificDocument = XDocuments.GetSpecificDocument(XGuildViewDocument.uuID); + specificDocument.View(id); + } + } +} -- cgit v1.1-26-g67d0