From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/XQuickReplyDocument.cs | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XQuickReplyDocument.cs (limited to 'Client/Assets/Scripts/XMainClient/XQuickReplyDocument.cs') diff --git a/Client/Assets/Scripts/XMainClient/XQuickReplyDocument.cs b/Client/Assets/Scripts/XMainClient/XQuickReplyDocument.cs new file mode 100644 index 00000000..9a14a1f0 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XQuickReplyDocument.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using KKSG; +using XMainClient.UI; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XQuickReplyDocument : XDocComponent + { + public override uint ID + { + get + { + return XQuickReplyDocument.uuID; + } + } + + public QuickReplyDlg QuickReplyView { get; set; } + + public new static readonly uint uuID = XSingleton.singleton.XHash("QuickReplyDocument"); + + public static XTableAsyncLoader AsyncLoader = new XTableAsyncLoader(); + + private static QuickReplyTable _reader = new QuickReplyTable(); + + private static Dictionary> _quickReplyTables = new Dictionary>(); + + public static void Execute(OnLoadedCallback callBack = null) + { + XQuickReplyDocument.AsyncLoader.AddTask("Table/QuickReply", XQuickReplyDocument._reader, false); + XQuickReplyDocument.AsyncLoader.Execute(callBack); + XQuickReplyDocument._quickReplyTables.Clear(); + } + + public static void OnTableLoaded() + { + int i = 0; + int num = XQuickReplyDocument._reader.Table.Length; + while (i < num) + { + QuickReplyTable.RowData rowData = XQuickReplyDocument._reader.Table[i]; + List list; + bool flag = !XQuickReplyDocument._quickReplyTables.TryGetValue(rowData.Type, out list); + if (flag) + { + list = new List(); + XQuickReplyDocument._quickReplyTables.Add(rowData.Type, list); + } + list.Add(rowData); + i++; + } + } + + public QuickReplyTable.RowData GetRowData(int id) + { + return XQuickReplyDocument._reader.GetByID(id); + } + + public List GetQuickReplyList(int type) + { + List result = null; + XQuickReplyDocument._quickReplyTables.TryGetValue(type, out result); + return result; + } + + public void GetThanksForBonus(ulong boundsID) + { + RpcC2G_ThanksForBonus rpcC2G_ThanksForBonus = new RpcC2G_ThanksForBonus(); + rpcC2G_ThanksForBonus.oArg.bonusID = (uint)boundsID; + XSingleton.singleton.Send(rpcC2G_ThanksForBonus); + } + + public void OnThankForBonus(ThanksForBonusArg arg, ThanksForBonusRes res) + { + bool flag = res.errorcode > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(res.errorcode, "fece00"); + } + else + { + XGuildRedPacketDocument specificDocument = XDocuments.GetSpecificDocument(XGuildRedPacketDocument.uuID); + specificDocument.SetCanThank(false); + } + } + + public void GetAskForCheckInBonus() + { + RpcC2G_AskForCheckInBonus rpc = new RpcC2G_AskForCheckInBonus(); + XSingleton.singleton.Send(rpc); + } + + public void OnAskForCheckInBonus(AskForCheckInBonusArg arg, AskForCheckInBonusRes res) + { + bool flag = res.errorcode > ErrorCode.ERR_SUCCESS; + if (flag) + { + XSingleton.singleton.ShowSystemTip(res.errorcode, "fece00"); + } + else + { + XGuildRedPacketDocument specificDocument = XDocuments.GetSpecificDocument(XGuildRedPacketDocument.uuID); + specificDocument.GuildBonus.leftAskBonusTime = (double)XSingleton.singleton.GetInt("GuildBonusAskTimeSpan"); + } + } + + protected override void OnReconnected(XReconnectedEventArgs arg) + { + } + } +} -- cgit v1.1-26-g67d0