Пример #1
0
    public void SndChat(MsgPack msgPack)
    {
        SndChat    data = msgPack.msg.sndChat;
        PlayerData pd   = cacheSvc.GetPlayerDataBySettion(msgPack.session);
        GameMsg    msg  = new GameMsg
        {
            cmd     = (int)CMD.PshChat,
            pshChat = new PshChat
            {
                name = pd.name,
                chat = data.chat,
            },
        };

        //任务进度更新
        TaskSys.Instance.CalcTaskPrgs(pd, 6);//?需要更新吗
        //广播消息
        var lst = cacheSvc.GetOnlineSvrSessions();

        byte[] msgData = PENet.PETool.PackNetMsg(msg);//广播前提前序列化,减少次数
        foreach (var svrsin in lst)
        {
            svrsin.SendMsg(msgData);
        }
    }