Пример #1
0
    public void     ReqGuide(MsgPack msgs)
    {
        ReqGuide data = msgs.msg.reqGuide;
        GameMsg  msg  = new GameMsg
        {
            cmd = (int)CMD.ResGuied
        };
        PlayerData   pd  = cacheSvc.GetPlayeDataBySession(msgs.session);
        AutoGuideCfg cfg = CfgSvc.Instance.GetGuideCfg(data.guideId);

        //更新引导ID
        if (pd.guideid == data.guideId)
        {
            pd.guideid++;
            //更新玩家数据
            pd.coin += cfg.coin;
            CalcExp(pd, cfg.exp);
            if (!cacheSvc.UpdatePlayerData(pd.id, pd))
            {
                msg.err = (int)ErrorCode.UpdateDbError;
            }
            else
            {
                msg.resGuide = new ResGuide
                {
                    guideId = pd.guideid,
                    coin    = pd.coin,
                    exp     = pd.exp,
                    lv      = pd.lv
                };
            }
        }
        else
        {
            msg.err = (int)ErrorCode.ServerDataError;
        }



        msgs.session.SendMsg(msg);
    }
Пример #2
0
    public void SndChat(MsgPack pack)
    {
        PlayerData pd   = cacheSvc.GetPlayeDataBySession(pack.session);
        SndChat    chat = pack.msg.sndChat;

        GameMsg msg = new GameMsg
        {
            cmd     = (int)CMD.PshChat,
            pndChat = new PshChat
            {
                name = pd.name,
                chat = chat.chat
            }
        };

        //广播所有在线客户端
        List <ServerSession> lst = cacheSvc.GetOnlineSeverSession();

        byte[] bytes = PENet.PETool.PackNetMsg(msg);
        for (int i = 0; i < lst.Count; i++)
        {
            lst[i].SendMsg(bytes);
        }
    }
Пример #3
0
    public void Rename(MsgPack pack)
    {
        Rename  name = pack.msg.rename;
        GameMsg msg  = new GameMsg
        {
            cmd = (int)CMD.ReName
        };

        //当前名字是否存在
        if (CacheSvc.Instance.IsNameExist(pack.msg.rename.name))
        {
            //存在  发送错误码
            msg.err = (int)ErrorCode.NameRepeat;
        }
        else
        {
            //更新缓存 以及数据库
            PlayerData playerData = cacheSvc.GetPlayeDataBySession(pack.session);
            playerData.name = name.name;

            if (cacheSvc.UpdatePlayerData(playerData.id, playerData))
            {
                //更新成功
                msg.rename = new Rename
                {
                    name = name.name
                };
            }
            else
            {
                //更新失败
                msg.err = (int)ErrorCode.UpdateDbError;
            }
        }
        pack.session.SendMsg(msg);
    }