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/XGuildMembersView.cs | 432 +++++++++++++++++++++ 1 file changed, 432 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XGuildMembersView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XGuildMembersView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XGuildMembersView.cs b/Client/Assets/Scripts/XMainClient/UI/XGuildMembersView.cs new file mode 100644 index 00000000..8db93ec2 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XGuildMembersView.cs @@ -0,0 +1,432 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XGuildMembersView : DlgBase + { + public override string fileName + { + get + { + return "Guild/GuildMembersDlg"; + } + } + + 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 pushstack + { + get + { + return true; + } + } + + public static readonly Color TitleUnSelectedColor = new Color(0.607843161f, 0.607843161f, 0.607843161f); + + public static readonly Color TitleSelectedColor = Color.white; + + private XGuildMemberDocument _MemberDoc; + + private XGuildDocument _GuildDoc; + + private XGuildMemberInfoDisplay _MemberInfoDisplay = new XGuildMemberInfoDisplay(); + + private GuildPosition m_SelectedHigherPosition; + + private GuildPosition m_SelectedLowerPosition; + + private ulong m_SelectedMemberID; + + private string m_SelectedName; + + private XGuildMember m_SelectMember; + + protected override void Init() + { + this._MemberDoc = XDocuments.GetSpecificDocument(XGuildMemberDocument.uuID); + this._MemberDoc.GuildMembersView = this; + this._GuildDoc = XDocuments.GetSpecificDocument(XGuildDocument.uuID); + } + + protected override void OnUnload() + { + this._MemberDoc.GuildMembersView = null; + DlgHandlerBase.EnsureUnload(ref base.uiBehaviour.m_TitleBar); + base.OnUnload(); + } + + public override void RegisterEvent() + { + base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnCloseBtnClick)); + base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._WrapContentItemUpdated)); + base.uiBehaviour.m_WrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this._WrapContentItemInit)); + base.uiBehaviour.m_TitleBar.RegisterClickEventHandler(new TitleClickEventHandler(this._OnTitleClickEventHandler)); + } + + protected override void OnShow() + { + this._MemberDoc.ReqMemberList(); + base.uiBehaviour.m_TitleBar.Refresh((ulong)((long)XFastEnumIntEqualityComparer.ToInt(this._MemberDoc.SortType))); + } + + private bool _OnTitleClickEventHandler(ulong ID) + { + this._MemberDoc.SortType = (GuildMemberSortType)ID; + this._MemberDoc.SortAndShow(); + return this._MemberDoc.SortDirection > 0; + } + + public void RefreshAll(bool bResetPosition = true) + { + List memberList = this._MemberDoc.MemberList; + int count = memberList.Count; + base.uiBehaviour.m_WrapContent.SetContentCount(count, false); + if (bResetPosition) + { + base.uiBehaviour.m_ScrollView.ResetPosition(); + } + } + + public void Refresh() + { + base.uiBehaviour.m_WrapContent.RefreshAllVisibleContents(); + } + + public void RefreshFatigue() + { + } + + public void OnRefreshDailyTaskReply() + { + base.uiBehaviour.m_WrapContent.RefreshAllVisibleContents(); + } + + private void _WrapContentItemInit(Transform t, int index) + { + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this._OnMemberClick)); + IXUIButton ixuibutton = t.Find("Inherit").GetComponent("XUIButton") as IXUIButton; + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnInheritClick)); + IXUIButton ixuibutton2 = t.Find("BtnTask").GetComponent("XUIButton") as IXUIButton; + ixuibutton2.RegisterClickEventHandler(new ButtonClickEventHandler(this._OnRefreshClick)); + } + + private bool _OnRefreshClick(IXUIButton button) + { + XGuildDailyTaskDocument.Doc.SendToRefreshTaskOp(DailyRefreshOperType.DROT_Refresh, button.ID); + return true; + } + + private void _WrapContentItemUpdated(Transform t, int index) + { + bool flag = index < 0 || index >= this._MemberDoc.MemberList.Count; + if (!flag) + { + XGuildMember xguildMember = this._MemberDoc.MemberList[index]; + ulong entityID = XSingleton.singleton.Player.Attributes.EntityID; + IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; + GameObject gameObject = t.Find("PlayerBg").gameObject; + IXUILabel ixuilabel = t.Find("Contribution").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = t.Find("LastLoginTime").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = t.Find("LuckLevel").GetComponent("XUILabel") as IXUILabel; + IXUIButton ixuibutton = t.Find("Inherit").GetComponent("XUIButton") as IXUIButton; + ixuibutton.ID = (ulong)((long)index); + this._MemberInfoDisplay.Init(t, false); + this._MemberInfoDisplay.Set(xguildMember); + ixuibutton.SetVisible(xguildMember.isInherit); + List stringList = XSingleton.singleton.GetStringList("LuckyLevel"); + int index2 = Mathf.Min((int)(xguildMember.taskLuck - 1u), stringList.Count - 1); + ixuilabel3.SetText(stringList[index2]); + List stringList2 = XSingleton.singleton.GetStringList("LuckyLevelColor"); + Color color = XSingleton.singleton.ConvertRGBStringToColor(stringList2[index2]); + ixuilabel3.SetColor(color); + IXUIButton ixuibutton2 = t.Find("BtnTask").GetComponent("XUIButton") as IXUIButton; + ixuibutton2.SetEnable(xguildMember.canRefresh && xguildMember.taskScore < 4u, false); + ixuibutton2.ID = xguildMember.uid; + IXUISprite ixuisprite2 = t.Find("BtnTask/TaskLevel").GetComponent("XUISprite") as IXUISprite; + ixuisprite2.SetSprite(ixuisprite2.spriteName.Substring(0, ixuisprite2.spriteName.Length - 1) + xguildMember.taskScore); + ixuilabel.SetText(xguildMember.contribution.ToString()); + bool flag2 = this._GuildDoc.Position == GuildPosition.GPOS_LEADER || this._GuildDoc.Position == GuildPosition.GPOS_VICELEADER; + if (flag2) + { + ixuilabel2.SetText(XSingleton.singleton.TimeAgoFormatString(xguildMember.time)); + } + else + { + ixuilabel2.SetText(XSingleton.singleton.TimeOnOrOutFromString(xguildMember.time)); + } + ixuisprite.ID = (ulong)((long)index); + gameObject.SetActive(entityID == xguildMember.uid); + } + } + + private bool _OnCloseBtnClick(IXUIButton go) + { + this.SetVisibleWithAnimation(false, null); + return true; + } + + private bool _OnOneKeyReceiveBtnClick(IXUIButton go) + { + bool flag = !this._GuildDoc.bInGuild; + bool result; + if (flag) + { + result = true; + } + else + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("GUILD_ONEKEY_RECEIVE_FATIGUE_CONFIRM"), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this._OnOneKeyReceive)); + result = true; + } + return result; + } + + private bool _OnOneKeyReceive(IXUIButton go) + { + XSingleton.singleton.CloseModalDlg(); + this._MemberDoc.ReqOneKeyReceiveFatigue(); + return true; + } + + private bool _OnOneKeySendBtnClick(IXUIButton go) + { + this._MemberDoc.ReqOneKeySendFatigue(); + return true; + } + + private bool _OnReceiveBtnClick(IXUIButton btn) + { + this._MemberDoc.ReqReceiveFatigue((int)btn.ID); + return true; + } + + private bool _OnSendBtnClick(IXUIButton btn) + { + this._MemberDoc.ReqSendFatigue((int)btn.ID); + return true; + } + + private void _OnMemberClick(IXUISprite iSp) + { + int num = (int)iSp.ID; + bool flag = num < 0 || num >= this._MemberDoc.MemberList.Count; + if (!flag) + { + XGuildMember xguildMember = this._MemberDoc.MemberList[num]; + bool flag2 = xguildMember.uid == XSingleton.singleton.Player.Attributes.EntityID; + if (!flag2) + { + this.m_SelectMember = xguildMember; + this.m_SelectedName = xguildMember.name; + this.m_SelectedMemberID = xguildMember.uid; + GuildPosition position = xguildMember.position; + this.m_SelectedHigherPosition = (GuildPosition)XGuildDocument.GuildPP.GetHigherPosition(position); + this.m_SelectedLowerPosition = (GuildPosition)XGuildDocument.GuildPP.GetLowerPosition(position); + GuildPermission setPositionPermission = XGuildDocument.GuildPP.GetSetPositionPermission(this.m_SelectedHigherPosition, this.m_SelectedHigherPosition); + GuildPermission setPositionPermission2 = XGuildDocument.GuildPP.GetSetPositionPermission(position, this.m_SelectedLowerPosition); + List list = new List(); + List list2 = new List(); + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_VIEW")); + list2.Add(new ButtonClickEventHandler(DlgBase.singleton.ShowDetailInfo)); + bool flag3 = XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Friends); + if (flag3) + { + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_ADDFRIEND")); + list2.Add(new ButtonClickEventHandler(DlgBase.singleton.AddFriend)); + } + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_SENDFLOWER")); + list2.Add(new ButtonClickEventHandler(DlgBase.singleton.SendFlower)); + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_PRIVATECHAT")); + list2.Add(new ButtonClickEventHandler(DlgBase.singleton.PrivateChat)); + bool flag4 = this._GuildDoc.IHavePermission(setPositionPermission) || this._GuildDoc.IHavePermission(setPositionPermission2); + if (flag4) + { + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_INCREASEPOSITION")); + list2.Add(new ButtonClickEventHandler(this._HigherPositionClick)); + } + bool flag5 = this._GuildDoc.IHavePermission(GuildPermission.GPEM_FIREMEMBER); + if (flag5) + { + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_FIREFROMGUILD")); + list2.Add(new ButtonClickEventHandler(this._OnKickAssBtnClick)); + } + bool isInherit = xguildMember.isInherit; + if (isInherit) + { + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_INHERIT")); + list2.Add(new ButtonClickEventHandler(this._OnInheritDialog)); + } + list.Add(XStringDefineProxy.GetString("OTHERPLAYERINFO_MENU_PK")); + list2.Add(new ButtonClickEventHandler(this._PKClick)); + DlgBase.singleton.ShowMenuUI(xguildMember.uid, xguildMember.name, list, list2, 0u, (uint)xguildMember.profession); + } + } + } + + private bool _PKClick(IXUIButton btn) + { + XPKInvitationDocument specificDocument = XDocuments.GetSpecificDocument(XPKInvitationDocument.uuID); + specificDocument.SendPKInvitation(this.m_SelectedMemberID); + return true; + } + + private bool _HigherPositionClick(IXUIButton btn) + { + DlgBase.singleton.ShowMenu(this.m_SelectedMemberID); + return true; + } + + private bool _HigherPosition(IXUIButton btn) + { + XSingleton.singleton.CloseModalDlg(); + this._MemberDoc.ReqChangePosition(this.m_SelectedMemberID, true); + return true; + } + + private bool _LowerPositionClick(IXUIButton btn) + { + this._MemberDoc.ReqChangePosition(this.m_SelectedMemberID, false); + DlgBase.singleton.SetVisibleWithAnimation(false, null); + return true; + } + + private bool _OnInheritDialog(IXUIButton btn) + { + DlgBase.singleton.SetVisibleWithAnimation(false, null); + bool flag = this.m_SelectMember == null; + bool result; + if (flag) + { + result = true; + } + else + { + this.RequestInherit(this.m_SelectMember); + result = false; + } + return result; + } + + private bool _OnInheritClick(IXUIButton btn) + { + int num = (int)btn.ID; + bool flag = num < 0 || num >= this._MemberDoc.MemberList.Count; + bool result; + if (flag) + { + result = false; + } + else + { + this.RequestInherit(this._MemberDoc.MemberList[num]); + result = true; + } + return result; + } + + private void RequestInherit(XGuildMember member) + { + bool flag = member == null; + if (!flag) + { + bool flag2 = member.uid == XSingleton.singleton.Player.Attributes.EntityID; + if (!flag2) + { + bool flag3 = member.time >= 0; + if (flag3) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("ERR_TEAM_INV_LOGOUT"), "fece00"); + } + else + { + bool flag4 = !member.isInherit; + if (flag4) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("ERR_GUILD_INHERIT_LVL"), "fece00"); + } + else + { + XGuildInheritDocument specificDocument = XDocuments.GetSpecificDocument(XGuildInheritDocument.uuID); + specificDocument.SendReqInherit(member.uid); + } + } + } + } + } + + private bool _OnKickAssBtnClick(IXUIButton btn) + { + DlgBase.singleton.SetVisibleWithAnimation(false, null); + bool flag = !this._GuildDoc.CheckPermission(GuildPermission.GPEM_FIREMEMBER); + bool result; + if (flag) + { + result = true; + } + else + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("GUILD_FIREMEMBER_CONFIRM", new object[] + { + this.m_SelectedName + }), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this._KickAss)); + result = true; + } + return result; + } + + private bool _KickAss(IXUIButton btn) + { + XSingleton.singleton.CloseModalDlg(); + bool flag = !this._GuildDoc.CheckPermission(GuildPermission.GPEM_FIREMEMBER); + bool result; + if (flag) + { + result = true; + } + else + { + this._MemberDoc.ReqKickAss(this.m_SelectedMemberID); + result = true; + } + return result; + } + } +} -- cgit v1.1-26-g67d0