/// <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 ChatInfo ToChatInfoWithRedPackgetMsg(stNoticeRedPacketChatUserCmd_S cmd) { ChatInfo info = new ChatInfo(); info.IsMe = cmd.name == MainPlayerHelper.GetMainPlayer().GetName()?true:false; info.job = (int)cmd.job; info.Title = cmd.name; info.RichText = DataManager.Manager <RedEnvelopeDataManager>().GetShortMessage(cmd.title); info.IsRedPacket = true; info.redPacketID = cmd.id; info.Timestamp = UserData.ServerTime.ToUnixTime(); info.Channel = cmd.world?CHATTYPE.CHAT_WORLD:CHATTYPE.CHAT_CLAN; return(info); }
protected override void OnJump(UIPanelBase.PanelJumpData jumpData) { base.OnJump(jumpData); if (jumpData != null) { if (jumpData.Param != null) { stNoticeRedPacketChatUserCmd_S cmd = jumpData.Param as stNoticeRedPacketChatUserCmd_S; if (cmd != null) { bWorld = cmd.world; if (cmd.money_type == m_moneyType) { if (cmd.gold >= m_maxNum) { ShowEffect(50039); } } } } } ShowAni(); }
public void OnNoticeRedEnveLopeInfo(stNoticeRedPacketChatUserCmd_S cmd) { DataManager.Manager <RedEnvelopeDataManager>().OnNoticeRedEnveLopeInfo(cmd); }