public void MsgUpdateInfo(Player player, ProtocolBase protoBase)
        {
            int           start     = 0;
            ProtocolBytes protocol  = (ProtocolBytes)protoBase;
            string        protoName = protocol.GetString(start, ref start);
            float         x         = protocol.GetFloat(start, ref start);
            float         y         = protocol.GetFloat(start, ref start);
            float         z         = protocol.GetFloat(start, ref start);
            float         xScale    = protocol.GetFloat(start, ref start);
            int           animInfo  = protocol.GetInt(start, ref start);
            string        name      = player.data.name;

            Scene.instance.UpdateInfo(player.id, x, y, z, xScale, animInfo, name);
            //广播
            ProtocolBytes protocolRet = new ProtocolBytes();

            protocolRet.AddString("UpdateInfo");
            protocolRet.AddString(player.id);
            protocolRet.AddFloat(x);
            protocolRet.AddFloat(y);
            protocolRet.AddFloat(z);
            protocolRet.AddFloat(xScale);
            protocolRet.AddInt(animInfo);
            protocolRet.AddString(name);
            Serv.instance.Broadcast(protocolRet);
        }
Exemple #2
0
        //更新信息
        public void MsgUpdateInfo(Player player, ProtocolBase protoBase)
        {
            //获取数值
            int           start     = 0;
            ProtocolBytes protocol  = (ProtocolBytes)protoBase;
            string        protoName = protocol.GetString(start, ref start);

            float x     = protocol.GetFloat(start, ref start);
            float y     = protocol.GetFloat(start, ref start);
            float z     = protocol.GetFloat(start, ref start);
            int   score = player.data.score;
            int   kill  = player.data.kill;

            Scene.instance.UpdateInfo(player.username, x, y, z, score, kill);
            //广播
            ProtocolBytes protocolRet = new ProtocolBytes();

            protocolRet.AddString("UpdateInfo");
            protocolRet.AddString(player.username);
            protocolRet.AddFloat(x);
            protocolRet.AddFloat(y);
            protocolRet.AddFloat(z);
            protocolRet.AddInt(score);
            protocolRet.AddInt(kill);

            ServerTCP.instance.Broadcast(protocolRet);
        }
Exemple #3
0
        public void SendPlayerList(Player player)
        {
            int           count    = list.Count;
            ProtocolBytes protocol = new ProtocolBytes();

            protocol.AddString("GetList");
            protocol.AddInt(count);
            for (int i = 0; i < count; i++)
            {
                ScenePlayer p = list[i];
                protocol.AddString(p.id);
                protocol.AddFloat(p.x);
                protocol.AddFloat(p.y);
                protocol.AddFloat(p.z);
                protocol.AddInt(p.score);
            }
            player.Send(protocol);
        }
Exemple #4
0
        public void MsgUpdateRot(Player player, ProtocolBase protocol)
        {
            int           start = 0;
            ProtocolBytes proto = (ProtocolBytes)protocol;
            string        name  = proto.GetString(start, ref start);
            float         x     = proto.GetFloat(start, ref start);
            float         y     = proto.GetFloat(start, ref start);
            float         z     = proto.GetFloat(start, ref start);

            float w = proto.GetFloat(start, ref start);
            //广播
            ProtocolBytes protocolRet = new ProtocolBytes();

            protocolRet.AddString("UpdateRot");
            protocolRet.AddString(player.id);
            protocolRet.AddFloat(x);
            protocolRet.AddFloat(y);
            protocolRet.AddFloat(z);
            protocolRet.AddFloat(w);
            ServNet.getInstance().Broadcast(protocolRet);
        }
Exemple #5
0
        public void SendPlayerList(Player player)
        {
            Console.WriteLine("发送玩家信息");
            int           count    = list.Count;
            ProtocolBytes protocol = new ProtocolBytes();

            protocol.AddString("GetList");
            protocol.AddInt(count);
            for (int i = 0; i < count; i++)
            {
                ScenePlayer p = list[i];
                protocol.AddString(p.id);
                protocol.AddFloat(p.x);
                protocol.AddFloat(p.y);
                protocol.AddFloat(p.z);
                protocol.AddFloat(p.xScale);
                protocol.AddInt(p.animInfo);
                protocol.AddString(p.name);
            }
            player.Send(protocol);
        }
Exemple #6
0
        //更新信息
        public void MsgUpdateInfo(Player player, ProtocolBase protocol)
        {
            int           start = 0;
            ProtocolBytes proto = (ProtocolBytes)protocol;
            string        name  = proto.GetString(start, ref start);
            float         x     = proto.GetFloat(start, ref start);
            float         y     = proto.GetFloat(start, ref start);
            float         z     = proto.GetFloat(start, ref start);
            int           score = player.data.score;

            Scene.instance.UpdateInfo(player.id, x, y, z, score);

            //广播
            ProtocolBytes protocolRet = new ProtocolBytes();

            protocolRet.AddString("UpdateInfo");
            protocolRet.AddString(player.id);
            protocolRet.AddFloat(x);
            protocolRet.AddFloat(y);
            protocolRet.AddFloat(z);
            protocolRet.AddInt(score);
            ServNet.getInstance().Broadcast(protocolRet);
        }
Exemple #7
0
        //同步玩家单元
        public void MsgUpdateUnitInfo(Player player, ProtocolBase protoBase)
        {
            //获取数值
            int           start     = 0;
            ProtocolBytes protocol  = (ProtocolBytes)protoBase;
            string        protoName = protocol.GetString(start, ref start);
            float         posX      = protocol.GetFloat(start, ref start);
            float         posY      = protocol.GetFloat(start, ref start);
            float         posZ      = protocol.GetFloat(start, ref start);
            float         rotX      = protocol.GetFloat(start, ref start);
            float         rotY      = protocol.GetFloat(start, ref start);
            float         rotZ      = protocol.GetFloat(start, ref start);

            //获取房间
            if (player.tempData.status != PlayerTempData.Status.Fight)
            {
                return;
            }
            Room room = player.tempData.room;

            //作弊校验 略
            player.tempData.posX           = posX;
            player.tempData.posY           = posY;
            player.tempData.posZ           = posZ;
            player.tempData.lastUpdateTime = Sys.GetTimeStamp();
            //广播
            ProtocolBytes protocolRet = new ProtocolBytes();

            protocolRet.AddString("UpdateUnitInfo");
            protocolRet.AddString(player.username);
            protocolRet.AddFloat(posX);
            protocolRet.AddFloat(posY);
            protocolRet.AddFloat(posZ);
            protocolRet.AddFloat(rotX);
            protocolRet.AddFloat(rotY);
            protocolRet.AddFloat(rotZ);
            room.Broadcast(protocolRet);
        }