/// <summary> /// 通知红包领取 /// </summary> /// <param name="cmd"></param> public void OnNoticeRedEnveLopeInfo(stNoticeRedPacketChatUserCmd_S cmd) { RedPacket rp = new RedPacket(); rp.status = (uint)RedPacketStatus.eRedPacketNormal; rp.title = cmd.title; rp.id = cmd.id; rp.name = cmd.name; AddPacket(cmd.world, rp); ChangeRedStatus(cmd.id, RedPacketStatus.eRedPacketNormal); SortAllRedPacket(); if (!DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.RedEnvelopePanel)) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.RedEnvelopeTakePanel, jumpData: new UIPanelBase.PanelJumpData() { Param = cmd }); } uint langTextID = 140001; ChatChannel channel = DataManager.Manager <ChatDataManager>().GetChannelByType(CHATTYPE.CHAT_WORLD); if (!cmd.world) { langTextID = 140002; channel = DataManager.Manager <ChatDataManager>().GetChannelByType(CHATTYPE.CHAT_CLAN); } stSendInfoReminderChatUserCmd_S chatCmd = new stSendInfoReminderChatUserCmd_S(); chatCmd.id = langTextID; chatCmd.szInfo = new List <string> { cmd.name }; Protocol.Instance.OnReceiveRemindText(chatCmd); uint moneyType = GameTableManager.Instance.GetGlobalConfig <uint>("UserRedEnvelopeCurrencyType"); uint maxNum = GameTableManager.Instance.GetGlobalConfig <uint>("UserRedEnvelopeCurrencyNum"); if (cmd.money_type == moneyType) { if (cmd.gold >= maxNum) { DispatchValueUpdateEvent(RedEnveLopeEvent.ShowRedEffect.ToString(), null, null); } } if (channel != null) { channel.Add(channel.ToChatInfoWithRedPackgetMsg(cmd)); } }
public void OnReceiveRemindText(stSendInfoReminderChatUserCmd_S cmd) { uint text_id = cmd.id; List <string> param = cmd.szInfo; table.LangTextDataBase langText = GameTableManager.Instance.GetTableItem <table.LangTextDataBase>(text_id); object[] objs = null; if (param.Count != 0) { objs = new object[param.Count]; for (int i = 0; i < param.Count; i++) { objs[i] = param[i]; } } if (langText != null) { DataManager.Manager <ChatDataManager>().SeverSendToChatSystem(cmd, langText, objs); } }