/// <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()); }
void OnJoinRoomButtonClick(string name) { ProtocolBytes protocol = new ProtocolBytes(); protocol.AddString("EnterRoom"); protocol.AddInt32(int.Parse(name)); NetMgr.servConn.Send(protocol, OnJoinRoomBack); }
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()); }
/// <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()); }