/// <summary> /// 获取 Ping 协议消息 /// </summary> /// <returns></returns> public ProtocolBase GetPingProtocol() { ProtocolBytes proto = new ProtocolBytes(); proto.AddString(Constant.Ping); // 添加当前时间(游戏开始到现在的时间) proto.AddFloat(Time.time); return(proto); }
//加入按钮 public void OnJoinBtnClick(string name) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("EnterRoom"); protocol.AddInt(int.Parse(name)); NetMgr.srvConn.Send(protocol, OnJoinBtnBack); Debug.Log("请求进入房间 " + name); }
public void PlayerLeave(ProtocolBase protocol) { ProtocolBytes proto = (ProtocolBytes)protocol; //获取数值 int start = 0; string protoName = proto.GetString(start, ref start); string id = proto.GetString(start, ref start); DelPlayer(id); }
public void MsgGetNumber(Player player, ProtocolBase protoBase) { ProtocolBytes protocolRet = new ProtocolBytes(); protocolRet.AddString("GetNumber"); protocolRet.AddInt(player.number.maigcNum); protocolRet.AddInt(player.number.DiamondNum); player.Send(protocolRet); Console.WriteLine("MsgGetNumber" + player.id + player.number.maigcNum + player.number.DiamondNum); }
public static void SyncAimTarget(long instant, int sourceId, int targetId) { ProtocolBytes protocol = SF.GetProtocolHead(ProtoName.SyncAimTarget); protocol.AddInt((int)instant); protocol.AddByte((byte)sourceId); protocol.AddByte((byte)targetId); Client.Instance.Send(protocol); }
//针对性协议 /* * public void BlockGenerate(ProtocolBase protoBase) * { * ProtocolBytes proto = (ProtocolBytes)protoBase; * int start = 0; * string name = proto.GetString(start, ref start); * float x = proto.Getfloat(start, ref start); * float y = proto.Getfloat(start, ref start); * int ID = proto.GetInt(start, ref start); * * if(BlockGenerator.instance != null) BlockGenerator.instance.Generate(x, y, ID); * else * { * lock (msgList) * { * msgList.Add(protoBase); * } * } * }*/ public void SendEnterBlock(string playerID, string blockID) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("EnterBlock"); protocol.AddString(playerID); protocol.AddString(blockID); Send(protocol); }
/// <summary> /// 房间内UDP广播 /// </summary> /// <param name="Proto"></param> private void UDPBroadCast(ProtocolBytes Proto) { foreach (Player player in RoomMember) { if (player != null && player.UDPClient != null) { UDP.instance.SocketSend(Proto, player.UDPClient); } } }
public void SendRoomNum(Conn conn) { ProtocolBytes proto = new ProtocolBytes(); proto.AddString("RoomNum"); int num = rooms[conn.roomid].num; proto.AddInt(num); rooms[conn.roomid].Broadcast(proto); }
public void OnlogClick() { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("Login"); protocol.AddString(idInput.text); protocol.AddString(pwInput.text); Debug.Log("发送" + protocol.GetDesc()); Send(protocol); }
//获取玩家信息 public void MsgGetAchieve(Player player, ProtocolBase protoBase) { ProtocolBytes protocolRet = new ProtocolBytes(); protocolRet.AddString("GetAchieve"); protocolRet.AddInt(player.data.win); protocolRet.AddInt(player.data.fail); player.Send(protocolRet); Console.WriteLine("MsgGetScore " + player.id + player.data.win); }
private void HandleMsg(ProtocolBase protocol) { ProtocolBytes proto = (ProtocolBytes)protocol; int start = 0; string protoName = proto.GetString(start, ref start); int ret = proto.GetInt(start, ref start); Debug.Log("接受" + proto.GetDesc()); recvstr = "接受" + proto.GetName() + "" + ret.ToString(); }
public void OnScoreBack(ProtocolBase protocol) { ProtocolBytes proto = (ProtocolBytes)protocol; int start = 0; string protoName = proto.GetString(start, ref start); int ScoreHuman = proto.GetInt(start, ref start); int ScoreKiller = proto.GetInt(start, ref start); PanelMgr.instance.OpenPanel <ScoreTips>("", ScoreHuman, ScoreKiller); }
public void MSG(ProtocolBytes bytes) { Console.WriteLine(bytes.GetDecode()[1]); switch (bytes.GetDecode()[1]) { case "TeamMSG": break; case "WrodMSG": World.instance.NewMSG(bytes); break; } }
public void HandleTalk(Connection con, MessageData messageData) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString(con.GetAddress()); protocol.AddString(Sys.GetNowTime()); protocol.AddString(messageData.data.data.GetString()); messageData.data.data = protocol; //SeverNet.instance.Broadcast(con, messageData); }
public override ProtocolBytes GetBytes() { ProtocolBytes protocolBytes = new ProtocolBytes(); protocolBytes.length = (int)stream.Length; protocolBytes.bytes = stream.GetBuffer(); stream.Close(); writer.Close(); return(protocolBytes); }
public void SendID(Conn conn) { ProtocolBytes proto = new ProtocolBytes(); proto.AddString("ID"); proto.AddInt(conn.idinroom); proto.AddInt(conn.roomid); proto.AddInt(conn.id); Send(conn, proto); }
public void GetServer() { ProtocolBytes bytes = new ProtocolBytes(); bytes.SetProtocol(Fursion_Protocol.GetServer); foreach (ServerConn SC in OnlineServer) { SC.Send(bytes); } }
//按下准备按钮 public void OnReadyClick() { if (!isReady) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("ReadyFight"); Debug.Log("发送:" + protocol.GetDesc()); NetMgr.srvConn.Send(protocol, OnReadyBack); } }
public string GetServerInfo(ProtocolBytes bytes, TCP conn) { object[] vs = new object[] { bytes, conn }; object O = vs; Thread ThreadGetServerInfo = new Thread(new ParameterizedThreadStart(GetINFO)); ThreadGetServerInfo.Name = "ThreadGetServerInfo"; ThreadGetServerInfo.Start(O); return(ThreadServerInfo); }
public static void AppendVector3(ProtocolBytes protocol, Vector3 vector) { if (protocol == null) { return; } protocol.AddFloat(vector.x); protocol.AddFloat(vector.y); protocol.AddFloat(vector.z); }
public void OnShowingItem() { NetMgr.srvConn.msgDist.AddListener("GetLoadItemMsg", GetLoadItemMsgBack); //发送查询 ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("GetLoadItemMsg"); NetMgr.srvConn.Send(protocol); }
public void SendAreaInit(string tag, int patternID) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("AreaInit"); protocol.AddString(tag); protocol.AddInt(patternID); Send(protocol); }
//发送协议部分 public void SendP2P(Conn conn, string ip, int port) { ProtocolBytes proto = new ProtocolBytes(); proto.AddString("P2P"); proto.AddString(ip); proto.AddInt(port); Send(conn, proto); }
public void RecvFight(ProtocolBase protocol) { ProtocolBytes proto = (ProtocolBytes)protocol; GameMgr.instance.protocol = proto; Load.instance.LoadNextScene("Battle"); Close(); Debug.LogWarning(" RecvFight close"); //SceneManager.LoadScene("Level1"); }
/// <summary> /// 读取地形基础数据 /// </summary> private void ReadTDHead(string path, string fileName) { byte[] buffer = File.ReadAllBytes(path + "/" + fileName + ".tdHead"); ProtocolBytes reader = new ProtocolBytes(buffer); head.terrainSize = reader.GetVector3(); head.ResolutionSize = reader.GetInt32(); head.heightmapPixelError = reader.GetFloat(); head.basemapDistance = reader.GetFloat(); head.drawHeightmap = reader.GetBoolen(); }
public void InitTeamScene() { roomNameText.text = "Room " + roomName; NetMgr.srvConn.msgDist.AddListener("GetRoomInfo", RecvGetRoomInfo); NetMgr.srvConn.msgDist.AddListener("EnterGame", RecvEnterGame); //发送查询 ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("GetRoomInfo"); NetMgr.srvConn.Send(protocol); }
public void RecvEnterGame(ProtocolBase protocol) { //解析协议 ProtocolBytes proto = (ProtocolBytes)protocol; int start = 0; string protoName = proto.GetString(start, ref start); int player_num = proto.GetInt(start, ref start); GameMgr.instance.player_num = player_num; //该局房间总人数 StartFight(); //获得战场信息 }
//增加分数 //协议参数: public void MsgAddScore(Player player, ProtocolBase protoBase) { //获取数值 int start = 0; ProtocolBytes protocol = (ProtocolBytes)protoBase; string protoName = protocol.GetString(start, ref start); //处理 player.data.score += 1; Console.WriteLine("MsgAddScore " + player.id + " " + player.data.score.ToString()); }
//增加分数,分数+1,可用 //协议参数: //无返回协议 public void MsgAddScore(Player player, ProtocolBase protoBase) { //获取数值 int start = 0; ProtocolBytes protocol = (ProtocolBytes)protoBase; // 似乎没用 string protoName = protocol.GetString(start, ref start); // 似乎没用 //处理 player.data.score += 1; Logger.Default.Info("MsgAddScore " + player.id + " " + player.data.score.ToString()); }
//Matching public void MsgMatching(Player player, ProtocolBase protoBase) { //获取数值 int start = 0; ProtocolBytes protocol = (ProtocolBytes)protoBase; string protoName = protocol.GetString(start, ref start); string id = protocol.GetString(start, ref start); //事件触发 ServNet.instance.handlePlayerEvent.OnMatching(player); }