From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/Guild/XGuildRelaxGameDocument.cs | 129 +++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Guild/XGuildRelaxGameDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/Guild/XGuildRelaxGameDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/Guild/XGuildRelaxGameDocument.cs b/Client/Assets/Scripts/XMainClient/Guild/XGuildRelaxGameDocument.cs new file mode 100644 index 00000000..e411898b --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Guild/XGuildRelaxGameDocument.cs @@ -0,0 +1,129 @@ +using System; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XGuildRelaxGameDocument : XDocComponent + { + public override uint ID + { + get + { + return XGuildRelaxGameDocument.uuID; + } + } + + public uint GuildVoiceQAState + { + get + { + return this._guildVoiceQAState; + } + } + + public float GuildVoiceQAWaitTime + { + get + { + return this._guildVoiceQAWaitTime; + } + } + + public bool RedPoint { get; set; } + + public new static readonly uint uuID = XSingleton.singleton.XHash("GuildRelaxGameDocument"); + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + public static GuildRelaxGameList GameList = new GuildRelaxGameList(); + + private uint _guildVoiceQAState = 0u; + + private float _guildVoiceQAWaitTime = 0f; + + public static void Execute(OnLoadedCallback callback = null) + { + XGuildRelaxGameDocument.AsyncLoader.AddTask("Table/GuildRelaxGameList", XGuildRelaxGameDocument.GameList, false); + XGuildRelaxGameDocument.AsyncLoader.Execute(callback); + } + + protected override void EventSubscribe() + { + base.EventSubscribe(); + base.RegisterEvent(XEventDefine.XEvent_InGuildStateChanged, new XComponent.XEventHandler(this.GuildStatusChanged)); + } + + public bool GuildStatusChanged(XEventArgs args) + { + this.RefreshRedPoint(); + return true; + } + + public void OpenGuildVoiceQuery() + { + RpcC2G_OpenGuildQAReq rpc = new RpcC2G_OpenGuildQAReq(); + XSingleton.singleton.Send(rpc); + } + + public void GetGuildVoiceInfo() + { + RpcC2G_GetGuildQADataReq rpc = new RpcC2G_GetGuildQADataReq(); + XSingleton.singleton.Send(rpc); + } + + public void JoinGuildVoiceInfo() + { + XVoiceQADocument specificDocument = XDocuments.GetSpecificDocument(XVoiceQADocument.uuID); + bool isVoiceQAIng = specificDocument.IsVoiceQAIng; + if (isVoiceQAIng) + { + DlgBase.singleton.SetVisible(true, true); + } + else + { + specificDocument.VoiceQAJoinChoose(true, 3u); + } + } + + public void SetGuildVoiceInfo(uint state, float time) + { + this._guildVoiceQAState = state; + XSingleton.singleton.AddLog(string.Format("Get guild voice open state = {0} by server", state), null, null, null, null, null, XDebugColor.XDebug_None); + this._guildVoiceQAWaitTime = time; + bool flag = DlgBase.singleton.IsVisible(); + if (flag) + { + DlgBase.singleton.Refresh(XSysDefine.XSys_GuildRelax_VoiceQA); + DlgBase.singleton.RefreshRedPoint(XSysDefine.XSys_GuildRelax_VoiceQA); + } + } + + public void RefreshRedPoint() + { + XGuildJokerDocument specificDocument = XDocuments.GetSpecificDocument(XGuildJokerDocument.uuID); + XGuildDocument specificDocument2 = XDocuments.GetSpecificDocument(XGuildDocument.uuID); + this.RedPoint = false; + bool flag = !specificDocument2.bInGuild; + if (flag) + { + XSingleton.singleton.RecalculateRedPointState(XSysDefine.XSys_GuildRelax_Joker, true); + } + else + { + this.RedPoint = (specificDocument.GameCount > 0); + XSingleton.singleton.RecalculateRedPointState(XSysDefine.XSys_GuildRelax_Joker, true); + bool flag2 = !DlgBase.singleton.IsVisible(); + if (!flag2) + { + DlgBase.singleton.RefreshRedPoint(XSysDefine.XSys_GuildRelax_VoiceQA); + } + } + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + } + } +} -- cgit v1.1-26-g67d0