Esempio n. 1
0
    /// <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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
    }
Esempio n. 5
0
    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);
    }
Esempio n. 6
0
    //针对性协议

    /*
     * 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);
    }
Esempio n. 7
0
 /// <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);
         }
     }
 }
Esempio n. 8
0
    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);
    }
Esempio n. 9
0
    public void OnlogClick()
    {
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddString("Login");
        protocol.AddString(idInput.text);
        protocol.AddString(pwInput.text);
        Debug.Log("发送" + protocol.GetDesc());
        Send(protocol);
    }
Esempio n. 10
0
    //获取玩家信息
    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);
    }
Esempio n. 11
0
    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();
    }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
        public void MSG(ProtocolBytes bytes)
        {
            Console.WriteLine(bytes.GetDecode()[1]);
            switch (bytes.GetDecode()[1])
            {
            case "TeamMSG": break;

            case "WrodMSG": World.instance.NewMSG(bytes); break;
            }
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        public override ProtocolBytes GetBytes()
        {
            ProtocolBytes protocolBytes = new ProtocolBytes();

            protocolBytes.length = (int)stream.Length;
            protocolBytes.bytes  = stream.GetBuffer();
            stream.Close();
            writer.Close();
            return(protocolBytes);
        }
Esempio n. 16
0
    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);
    }
Esempio n. 17
0
        public void GetServer()
        {
            ProtocolBytes bytes = new ProtocolBytes();

            bytes.SetProtocol(Fursion_Protocol.GetServer);
            foreach (ServerConn SC in OnlineServer)
            {
                SC.Send(bytes);
            }
        }
Esempio n. 18
0
 //按下准备按钮
 public void OnReadyClick()
 {
     if (!isReady)
     {
         ProtocolBytes protocol = new ProtocolBytes();
         protocol.AddString("ReadyFight");
         Debug.Log("发送:" + protocol.GetDesc());
         NetMgr.srvConn.Send(protocol, OnReadyBack);
     }
 }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
 public static void AppendVector3(ProtocolBytes protocol, Vector3 vector)
 {
     if (protocol == null)
     {
         return;
     }
     protocol.AddFloat(vector.x);
     protocol.AddFloat(vector.y);
     protocol.AddFloat(vector.z);
 }
Esempio n. 21
0
    public void OnShowingItem()
    {
        NetMgr.srvConn.msgDist.AddListener("GetLoadItemMsg", GetLoadItemMsgBack);

        //发送查询
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddString("GetLoadItemMsg");
        NetMgr.srvConn.Send(protocol);
    }
Esempio n. 22
0
    public void SendAreaInit(string tag, int patternID)
    {
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddString("AreaInit");
        protocol.AddString(tag);
        protocol.AddInt(patternID);

        Send(protocol);
    }
Esempio n. 23
0
    //发送协议部分
    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);
    }
Esempio n. 24
0
    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");
    }
Esempio n. 25
0
    /// <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();                             //获得战场信息
        }
Esempio n. 28
0
        //增加分数
        //协议参数:
        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);
    }