Exemple #1
0
    /// <summary>
    /// TDData序列化
    /// </summary>
    private byte[] TDDataSerialize(TDData tDData)
    {
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddString(tDData.name);
        protocol.AddVector3(tDData.terrainPos);
        protocol.AddFloatArray2(tDData.heightMap);

        protocol.AddInt32(tDData.detailMap.Length);
        for (int i = 0; i < tDData.detailMap.Length; i++)
        {
            protocol.AddIntArray2(tDData.detailMap[i]);
        }
        protocol.AddFloatArray3(tDData.alphaMap);

        protocol.AddInt32(tDData.treePoses.Length);
        for (int i = 0; i < tDData.treePoses.Length; i++)
        {
            protocol.AddInt32(tDData.treePoses[i].Length);
            for (int j = 0; j < tDData.treePoses[i].Length; j++)
            {
                protocol.AddVector3(tDData.treePoses[i][j]);
            }
        }
        return(protocol.Encode());
    }
Exemple #2
0
    void OnJoinRoomButtonClick(string name)
    {
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddString("EnterRoom");
        protocol.AddInt32(int.Parse(name));
        NetMgr.servConn.Send(protocol, OnJoinRoomBack);
    }
Exemple #3
0
        public static void PrintData(NetData data)
        {
            Console.WriteLine(data.dataType + "  ");
            ProtocolBytes r = new ProtocolBytes(data.data);

            Console.WriteLine(r.GetFloat());
            Console.WriteLine(r.GetString());

            ProtocolBytes s = new ProtocolBytes();

            s.AddInt32(data.dataType);
            s.AddString("我回来了");

            data.conn.Send(s.Encode());
        }
Exemple #4
0
    /// <summary>
    /// 将所有地形的相同基础数据保存为头文件
    /// </summary>
    /// <param name="path">路径</param>
    private void SaveTDHead(string path)
    {
        Terrain terrain = Terrain.activeTerrain;
        TDHead  tDHead  = new TDHead
        {
            terrainSize         = terrain.terrainData.size,
            ResolutionSize      = terrain.terrainData.detailResolution,
            heightmapPixelError = terrain.heightmapPixelError,
            basemapDistance     = terrain.basemapDistance,
            drawHeightmap       = terrain.drawHeightmap,
        };
        ProtocolBytes protocol = new ProtocolBytes();

        protocol.AddVector3(tDHead.terrainSize);
        protocol.AddInt32(tDHead.ResolutionSize);
        protocol.AddFloat(tDHead.heightmapPixelError);
        protocol.AddFloat(tDHead.basemapDistance);
        protocol.AddBoolen(tDHead.drawHeightmap);
        File.WriteAllBytes(path + "/TerrainData.tdHead", protocol.Encode());
    }