private static CMemBuffer Export() { CMemBuffer pcBuffer = new CMemBuffer(1024 * 1024 * 3); #region 表头 SceneMapData.SMapDataStruct data = SceneMapData.Instance.mapDataStruct; pcBuffer.Add(data.sHeader.un32MapID); pcBuffer.Add(data.sHeader.mapWidth); pcBuffer.Add(data.sHeader.mapHeight); #endregion #region 阻挡数据 int size = (int)data.sHeader.mapHeight * (int)data.sHeader.mapWidth; pcBuffer.Add(SceneMapData.Instance.mapDataStruct.BlockData, 0, size); #endregion return(pcBuffer); }
private bool ConstructMsg(Int32 n32Size) { //create memory stream and initialization the member variables. this.m_cnbBuffer = new CMemBuffer(n32Size); m_n32MsgSize = n32Size; //assign default value to the message header. SMsgHeader myHeader; myHeader.n32Size = 0; myHeader.n32ProtocalID = 0; //Push message header to the stream. this.Add(myHeader.n32Size); this.Add(myHeader.n32ProtocalID); this.m_cnbBuffer.SetReadPos(s_n32MsgHeaderSize); this.m_cnbBuffer.SetWritePos(s_n32MsgHeaderSize); return(true); }
// static byte[]headerBytes; // static byte[]blockBytes; // static byte[]objectrBytes; private static void ImportInfoToFile() { MapObjDataManager manager = GameObject.FindObjectOfType(typeof(MapObjDataManager)) as MapObjDataManager; GetMapDataHeader(manager); GetMapBlockData(manager); string filePath = Application.dataPath + "/Resources/Map/" + manager.MapName.ToString() + ".map"; CMemBuffer buf = Export(); int un32DataSize = buf.GetWritePos(); FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(buf.GetMemBuffer(), 0, un32DataSize); Debug.LogError("write = " + un32DataSize); fs.Close(); bw.Close(); }