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); }
//更新信息 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); }
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); }
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); }
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); }
//更新信息 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); }
//同步玩家单元 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); }