From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/XCharacterCommonMenuDocument.cs | 163 +++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XCharacterCommonMenuDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/XCharacterCommonMenuDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/XCharacterCommonMenuDocument.cs b/Client/Assets/Scripts/XMainClient/XCharacterCommonMenuDocument.cs new file mode 100644 index 00000000..db1d0390 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XCharacterCommonMenuDocument.cs @@ -0,0 +1,163 @@ +using System; +using KKSG; +using UILib; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XCharacterCommonMenuDocument : XDocComponent + { + public override uint ID + { + get + { + return XCharacterCommonMenuDocument.uuID; + } + } + + public static CharacterCommonInfo CharacterCommonInfoTable + { + get + { + return XCharacterCommonMenuDocument.m_characterCommonInfo; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("CharacterCommonMenuDocument"); + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + private static CharacterCommonInfo m_characterCommonInfo = new CharacterCommonInfo(); + + public static bool IsHasRole = false; + + private XUnitAppearanceTeam m_CurrentTeam = default(XUnitAppearanceTeam); + + public static void Execute(OnLoadedCallback callback = null) + { + XCharacterCommonMenuDocument.AsyncLoader.AddTask("Table/CharacterCommonInfo", XCharacterCommonMenuDocument.m_characterCommonInfo, false); + XCharacterCommonMenuDocument.AsyncLoader.Execute(callback); + } + + public override void OnAttachToHost(XObject host) + { + base.OnAttachToHost(host); + } + + protected override void EventSubscribe() + { + base.EventSubscribe(); + } + + public override void OnDetachFromHost() + { + base.OnDetachFromHost(); + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + } + + public override void OnEnterSceneFinally() + { + base.OnEnterSceneFinally(); + } + + public static void ReqCharacterMenuInfo(ulong roleID, bool isHasRole = false) + { + XCharacterCommonMenuDocument.IsHasRole = isHasRole; + bool flag = roleID != XSingleton.singleton.XPlayerData.RoleID; + if (flag) + { + bool flag2 = XSingleton.singleton.SceneType == SceneType.SCENE_BIGMELEE_READY; + if (!flag2) + { + bool flag3 = XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Mentorship); + if (flag3) + { + XMentorshipDocument.Doc.ClickedMainSceneRoleID = roleID; + XMentorshipDocument.Doc.SendGetOtherMentorStatus(roleID); + } + XCharacterCommonMenuDocument specificDocument = XDocuments.GetSpecificDocument(XCharacterCommonMenuDocument.uuID); + specificDocument.ReqCharacterInfo(roleID); + } + } + } + + private void ReqCharacterInfo(ulong roleID) + { + RpcC2M_GetUnitAppearanceNew rpcC2M_GetUnitAppearanceNew = new RpcC2M_GetUnitAppearanceNew(); + rpcC2M_GetUnitAppearanceNew.oArg.roleid = roleID; + rpcC2M_GetUnitAppearanceNew.oArg.type = 4u; + rpcC2M_GetUnitAppearanceNew.oArg.mask = 609295; + XSingleton.singleton.Send(rpcC2M_GetUnitAppearanceNew); + } + + public void OnGetUnitAppearance(GetUnitAppearanceRes oRes) + { + bool inTutorial = XSingleton.singleton.InTutorial; + if (!inTutorial) + { + DlgBase.singleton.ShowMenu(oRes.UnitAppearance); + } + } + + public void TryJoinTeam(XUnitAppearanceTeam teamInfo) + { + bool flag = !teamInfo.bHasTeam; + if (!flag) + { + XTeamDocument specificDocument = XDocuments.GetSpecificDocument(XTeamDocument.uuID); + bool bInTeam = specificDocument.bInTeam; + if (bInTeam) + { + this.m_CurrentTeam = teamInfo; + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("TeamLeaveAndJoinConfirm"), XStringDefineProxy.GetString(XStringDefine.COMMON_OK), XStringDefineProxy.GetString(XStringDefine.COMMON_CANCEL), new ButtonClickEventHandler(this._DoLeaveTeam)); + } + else + { + XTeamView.TryJoinTeam((int)teamInfo.teamID, teamInfo.bPwd); + } + } + } + + private bool _DoLeaveTeam(IXUIButton btn) + { + XSingleton.singleton.CloseModalDlg(); + XTeamDocument specificDocument = XDocuments.GetSpecificDocument(XTeamDocument.uuID); + ulong num = (ulong)this.m_CurrentTeam.teamID; + bool bPwd = this.m_CurrentTeam.bPwd; + if (bPwd) + { + num |= 4294967296UL; + } + specificDocument.ReqTeamOp(TeamOperate.TEAM_LEAVE, num, null, TeamMemberType.TMT_NORMAL, null); + return true; + } + + public void TryInviteTeam(ulong roleID) + { + XTeamDocument specificDocument = XDocuments.GetSpecificDocument(XTeamDocument.uuID); + bool bInTeam = specificDocument.bInTeam; + if (bInTeam) + { + bool flag = specificDocument.MyTeam.members.Count >= specificDocument.currentExpInfo.PlayerNumber; + if (flag) + { + XSingleton.singleton.ShowSystemTip(ErrorCode.ERR_TEAM_FULL, "fece00"); + } + else + { + specificDocument.ReqTeamOp(TeamOperate.TEAM_INVITE, roleID, null, TeamMemberType.TMT_NORMAL, null); + } + } + else + { + specificDocument.TryAutoSelectExp(); + specificDocument.ReqTeamOp(TeamOperate.TEAM_CREATE, roleID, null, TeamMemberType.TMT_NORMAL, null); + } + } + } +} -- cgit v1.1-26-g67d0