/// <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));
        }
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
 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();
 }
Beispiel #4
0
 public void OnNoticeRedEnveLopeInfo(stNoticeRedPacketChatUserCmd_S cmd)
 {
     DataManager.Manager <RedEnvelopeDataManager>().OnNoticeRedEnveLopeInfo(cmd);
 }