From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/XPushSubscribeDocument.cs | 200 +++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XPushSubscribeDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/XPushSubscribeDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/XPushSubscribeDocument.cs b/Client/Assets/Scripts/XMainClient/XPushSubscribeDocument.cs new file mode 100644 index 00000000..5bd900f3 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XPushSubscribeDocument.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections.Generic; +using KKSG; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XPushSubscribeDocument : XDocComponent + { + public override uint ID + { + get + { + return XPushSubscribeDocument.uuID; + } + } + + public new static readonly uint uuID = XSingleton.singleton.XHash("PushSubscribeDocument"); + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + private static PushSubscribeTable _PushSubscribeTable = new PushSubscribeTable(); + + public List OptionsDefault = new List(); + + public override void OnAttachToHost(XObject host) + { + base.OnAttachToHost(host); + } + + public override void OnEnterSceneFinally() + { + bool flag = this.OptionsDefault.Count == 0 && XSingleton.singleton.AccountType == LoginType.LGOIN_WECHAT_PF; + if (flag) + { + this.ReqListSubscribe(); + } + } + + protected override void EventSubscribe() + { + base.EventSubscribe(); + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + bool flag = this.OptionsDefault.Count == 0 && XSingleton.singleton.AccountType == LoginType.LGOIN_WECHAT_PF; + if (flag) + { + this.ReqListSubscribe(); + } + } + + public static void Execute(OnLoadedCallback callback = null) + { + XPushSubscribeDocument.AsyncLoader.AddTask("Table/PushSubscribe", XPushSubscribeDocument._PushSubscribeTable, false); + XPushSubscribeDocument.AsyncLoader.Execute(callback); + } + + public static PushSubscribeTable.RowData GetPushSubscribe(PushSubscribeOptions type) + { + return XPushSubscribeDocument.GetPushSubscribe((uint)XFastEnumIntEqualityComparer.ToInt(type)); + } + + public static PushSubscribeTable.RowData GetPushSubscribe(uint id) + { + return XPushSubscribeDocument._PushSubscribeTable.GetByMsgId(id); + } + + private void ReqListSubscribe() + { + XSingleton.singleton.AddLog("ReqListSubscribe", null, null, null, null, null, XDebugColor.XDebug_None); + RpcC2M_GetListSubscribe rpcC2M_GetListSubscribe = new RpcC2M_GetListSubscribe(); + rpcC2M_GetListSubscribe.oArg.token = XSingleton.singleton.OpenKey; + XSingleton.singleton.Send(rpcC2M_GetListSubscribe); + } + + public void OnListSubscribe(List data) + { + this.OptionsDefault.Clear(); + for (int i = 0; i < XFastEnumIntEqualityComparer.ToInt(PushSubscribeOptions.MAX); i++) + { + this.OptionsDefault.Add(false); + } + for (int j = 0; j < data.Count; j++) + { + int id = (int)data[j].id; + this.OptionsDefault[id] = data[j].status; + } + XSingleton.singleton.AddLog("OptionsDefault.Count" + this.OptionsDefault.Count, null, null, null, null, null, XDebugColor.XDebug_None); + for (int k = 0; k < XFastEnumIntEqualityComparer.ToInt(PushSubscribeOptions.MAX); k++) + { + XSingleton.singleton.AddLog(string.Concat(new object[] + { + "OptionsDefaultID:", + k, + " value:", + this.OptionsDefault[k].ToString() + }), null, null, null, null, null, XDebugColor.XDebug_None); + } + } + + public void ReqSetSubscribe(PushSubscribeOptions type, bool op) + { + XSingleton.singleton.AddLog(string.Concat(new object[] + { + "ReqSetSubscribe type:", + type, + " op:", + op.ToString() + }), null, null, null, null, null, XDebugColor.XDebug_None); + RpcC2M_SetSubscribe rpcC2M_SetSubscribe = new RpcC2M_SetSubscribe(); + rpcC2M_SetSubscribe.oArg.msgid.Add((uint)XFastEnumIntEqualityComparer.ToInt(type)); + rpcC2M_SetSubscribe.oArg.msgtype = (op ? 0 : 1); + rpcC2M_SetSubscribe.oArg.token = XSingleton.singleton.OpenKey; + XSingleton.singleton.Send(rpcC2M_SetSubscribe); + } + + public void OnSetSubscribe(SetSubscirbeArg data) + { + int num = (int)data.msgid[0]; + bool flag = data.msgtype == 0; + this.OptionsDefault[num] = flag; + XSingleton.singleton.AddLog(string.Concat(new object[] + { + "OnSetSubscribe index:", + num, + " status:", + flag.ToString() + }), null, null, null, null, null, XDebugColor.XDebug_None); + bool flag2 = flag; + if (flag2) + { + XSingleton.singleton.ShowSystemTip(XSingleton.singleton.GetString("SUBSCRIBE_OK"), "fece00"); + } + else + { + XSingleton.singleton.ShowSystemTip(XSingleton.singleton.GetString("SUBSCRIBE_CANCEL"), "fece00"); + } + switch (num) + { + case 1: + { + bool flag3 = DlgBase.singleton.IsVisible(); + if (flag3) + { + DlgBase.singleton.RefreshSubscribe(); + } + break; + } + case 2: + { + bool flag4 = DlgBase.singleton.IsVisible(); + if (flag4) + { + DlgBase.singleton.RefreshSubscribe(); + } + break; + } + case 3: + { + bool flag5 = DlgBase.singleton.IsVisible(); + if (flag5) + { + DlgHandlerBase dlgHandlerBase; + DlgBase.singleton.m_AllHandlers.TryGetValue(XSysDefine.XSys_ReceiveEnergy, out dlgHandlerBase); + ReceiveEnergyDlg receiveEnergyDlg = dlgHandlerBase as ReceiveEnergyDlg; + receiveEnergyDlg.RefreshSubscribe(); + } + break; + } + } + } + + public bool GetCurSubscribeStatus(PushSubscribeOptions type) + { + int num = XFastEnumIntEqualityComparer.ToInt(type); + bool flag = num >= this.OptionsDefault.Count; + bool result; + if (flag) + { + XSingleton.singleton.AddErrorLog(string.Concat(new object[] + { + "msgId:", + num, + " Options:", + this.OptionsDefault.Count + }), null, null, null, null, null); + result = false; + } + else + { + result = this.OptionsDefault[num]; + } + return result; + } + } +} -- cgit v1.1-26-g67d0