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);
    }
Ejemplo n.º 2
0
                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();
    }