コード例 #1
0
 public override void derialize(ByteBuffer bu)
 {
     base.derialize(bu);
     bu.readUnsignedInt32(ref qwThisID);
     bu.readUnsignedInt32(ref dwNum);
     bu.readUnsignedInt8(ref type);
 }
コード例 #2
0
ファイル: ArchiveHeader.cs プロジェクト: zhutaorun/unitygame
		public bool readArchiveFileHeader(FileStream fileHandle, ByteBuffer pMByteBuffer)
		{
			pMByteBuffer.clear ();
			fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, 4);
			pMByteBuffer.length = 4;
            string magic = "";
			pMByteBuffer.readMultiByte(ref magic, 4, Encoding.UTF8);
			if (magic != "asdf")		// 检查 magic
			{
				return false;
			}

			pMByteBuffer.clear ();
			fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, (int)calcArchiveHeaderSizeNoFileHeader() - 4);
			pMByteBuffer.length = calcArchiveHeaderSizeNoFileHeader() - 4;
			// 读取 endian 
            pMByteBuffer.readUnsignedInt8(ref m_endian);
			pMByteBuffer.setEndian((Endian)m_endian);

			// 读取头部大小
            pMByteBuffer.readUnsignedInt32(ref m_headerSize);

			// 读取版本
            pMByteBuffer.readUnsignedInt32(ref m_version);
			// 读取文件数量
            pMByteBuffer.readUnsignedInt32(ref m_fileCount);

			// 读取整个头
			pMByteBuffer.clear ();
			fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, (int)(m_headerSize - calcArchiveHeaderSizeNoFileHeader()));
			pMByteBuffer.length = m_headerSize - calcArchiveHeaderSizeNoFileHeader ();

			return true;
		}
コード例 #3
0
        public bool readArchiveFileHeader(FileStream fileHandle, ByteBuffer pMByteBuffer)
        {
            pMByteBuffer.clear();
            fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, 4);
            pMByteBuffer.length = 4;
            string magic = "";

            pMByteBuffer.readMultiByte(ref magic, 4, Encoding.UTF8);
            if (magic != "asdf")                        // 检查 magic
            {
                return(false);
            }

            pMByteBuffer.clear();
            fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, (int)calcArchiveHeaderSizeNoFileHeader() - 4);
            pMByteBuffer.length = calcArchiveHeaderSizeNoFileHeader() - 4;
            // 读取 endian
            pMByteBuffer.readUnsignedInt8(ref m_endian);
            pMByteBuffer.setEndian((Endian)m_endian);

            // 读取头部大小
            pMByteBuffer.readUnsignedInt32(ref m_headerSize);

            // 读取版本
            pMByteBuffer.readUnsignedInt32(ref m_version);
            // 读取文件数量
            pMByteBuffer.readUnsignedInt32(ref m_fileCount);

            // 读取整个头
            pMByteBuffer.clear();
            fileHandle.Read(pMByteBuffer.dynBuff.buff, 0, (int)(m_headerSize - calcArchiveHeaderSizeNoFileHeader()));
            pMByteBuffer.length = m_headerSize - calcArchiveHeaderSizeNoFileHeader();

            return(true);
        }
コード例 #4
0
ファイル: t_Card.cs プロジェクト: zhutaorun/unitygame
        public void derialize(ByteBuffer bu)
        {
            bu.readUnsignedInt32(ref qwThisID);
            bu.readUnsignedInt32(ref dwObjectID);
	        pos = new stObjectLocation();
            pos.derialize(bu);

            bu.readUnsignedInt32(ref mpcost);
            bu.readUnsignedInt32(ref damage);
            bu.readUnsignedInt32(ref hp);
            bu.readUnsignedInt32(ref maxhp);
            bu.readUnsignedInt32(ref dur);

            bu.readUnsignedInt8(ref magicDamAdd);
            bu.readUnsignedInt8(ref overload);
            bu.readUnsignedInt32(ref armor);
            bu.readUnsignedInt8(ref attackTimes);
            bu.readUnsignedInt8(ref equipOpen);

            bu.readUnsignedInt8(ref side);
            bu.readUnsignedInt32(ref popHpValue);
            bu.readUnsignedInt32(ref popDamValue);

            uint len = ((int)StateID.CARD_STATE_MAX + 7) / 8;
            state = new byte[len];
            bu.readBytes(ref state, len);
        }
コード例 #5
0
        public void derialize(ByteBuffer bu)
        {
            bu.readUnsignedInt32(ref qwThisID);
            bu.readUnsignedInt32(ref dwObjectID);
            pos = new stObjectLocation();
            pos.derialize(bu);

            bu.readUnsignedInt32(ref mpcost);
            bu.readUnsignedInt32(ref damage);
            bu.readUnsignedInt32(ref hp);
            bu.readUnsignedInt32(ref maxhp);
            bu.readUnsignedInt32(ref dur);

            bu.readUnsignedInt8(ref magicDamAdd);
            bu.readUnsignedInt8(ref overload);
            bu.readUnsignedInt32(ref armor);
            bu.readUnsignedInt8(ref attackTimes);
            bu.readUnsignedInt8(ref equipOpen);

            bu.readUnsignedInt8(ref side);
            bu.readUnsignedInt32(ref popHpValue);
            bu.readUnsignedInt32(ref popDamValue);

            uint len = ((int)StateID.CARD_STATE_MAX + 7) / 8;

            state = new byte[len];
            bu.readBytes(ref state, len);
        }
コード例 #6
0
ファイル: FileInfo.cs プロジェクト: zhutaorun/unitygame
		public void readHeaderFromArchiveFile(ByteBuffer bu)
		{
            bu.readUnsignedInt8(ref m_pathLen);
            bu.readMultiByte(ref m_fileNamePath, m_pathLen, Encoding.UTF8);
            bu.readUnsignedInt32(ref m_fileOffset);
            bu.readUnsignedInt32(ref m_fileSize);
            bu.readUnsignedInt32(ref m_flags);
		}
コード例 #7
0
ファイル: TestStrMsg.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);
            bu.readUnsignedInt32(ref reserve);
            bu.readUnsignedInt32(ref version);

            bu.readMultiByte(ref testStr, 100, GkEncode.UTF8);
        }
コード例 #8
0
 public void readHeaderFromArchiveFile(ByteBuffer bu)
 {
     bu.readUnsignedInt8(ref m_pathLen);
     bu.readMultiByte(ref m_fileNamePath, m_pathLen, Encoding.UTF8);
     bu.readUnsignedInt32(ref m_fileOffset);
     bu.readUnsignedInt32(ref m_fileSize);
     bu.readUnsignedInt32(ref m_flags);
 }
コード例 #9
0
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);
            bu.readUnsignedInt32(ref reserve);
            bu.readUnsignedInt32(ref version);

            cmd.derialize(bu);
        }
コード例 #10
0
ファイル: ChatCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref dwType);
            bu.readUnsignedInt32(ref dwSysInfoType);
            bu.readMultiByte(ref pstrName, ProtoCV.MAX_NAMESIZE, GkEncode.UTF8);
            bu.readMultiByte(ref pstrChat, ProtoCV.MAX_CHATINFO, GkEncode.UTF8);
            bu.readUnsignedInt32(ref dwFromID);
            bu.readUnsignedInt32(ref dwChannelID);
        }
コード例 #11
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref id);
            bu.readUnsignedInt8(ref num);
        }
コード例 #12
0
        // 读取一个表,仅仅读取表头
        private void readTable(TableID tableID, ByteBuffer bytes)
        {
            TableBase table = m_dicTable[tableID];

            table.m_byteBuffer = bytes;

            bytes.setEndian(Endian.LITTLE_ENDIAN);
            uint len = 0;

            bytes.readUnsignedInt32(ref len);
            uint          i    = 0;
            TableItemBase item = null;

            for (i = 0; i < len; i++)
            {
                //if (TableID.TABLE_OBJECT == tableID)
                //{
                //    item = new TableItemObject();
                //}
                item = new TableItemBase();
                item.parseHeaderByteBuffer(bytes);
                // 加载完整数据
                //loadOneTableOneItemAll(tableID, table, item);
                //if (TableID.TABLE_OBJECT == tableID)
                //{
                //item.parseAllByteBuffer<TableObjectItemBody>(bytes);
                //}
                table.m_List.Add(item);
            }
        }
コード例 #13
0
 public override void derialize(ByteBuffer bu)
 {
     base.derialize(bu);
     bu.readUnsignedInt32(ref dwUserID);
     bu.readUnsignedInt32(ref loginTempID);
     bu.readMultiByte(ref pstrIP, ProtoCV.MAX_IP_LENGTH, GkEncode.UTF8);
     bu.readUnsignedInt16(ref wdPort);
     keyAux = new ByteBuffer();
     byte[] ret = new byte[256];
     bu.readBytes(ref ret, 256);
     keyAux.writeBytes(ret, 0, 256);
     keyAux.position = 58;
     byte index = 0;
     keyAux.readUnsignedInt8(ref index);
     keyAux.position = index;
     key = new byte[8];
     keyAux.readBytes(ref key, 8);
     bu.readUnsignedInt32(ref state);
 }
コード例 #14
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref dwThisID);
            bu.readUnsignedInt8(ref who);
            bu.readUnsignedInt8(ref stateNum);
        }
コード例 #15
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
 public override void derialize(ByteBuffer bu)
 {
     base.derialize(bu);
     bu.readUnsignedInt32(ref sceneNumber);
 }
コード例 #16
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref dwAttThisID);
            bu.readUnsignedInt32(ref dwDefThisID);
            bu.readUnsignedInt32(ref dwMagicType);

            dst = new stObjectLocation();
            dst.derialize(bu);
        }
コード例 #17
0
ファイル: SelectUserInfo.cs プロジェクト: zhutaorun/unitygame
        public void derialize(ByteBuffer bu)
        {
            bu.readUnsignedInt32(ref id);
            bu.readMultiByte(ref name, ProtoCV.MAX_NAMESIZE + 1, GkEncode.UTF8);
            bu.readUnsignedInt16(ref type);
            bu.readUnsignedInt16(ref level);
            bu.readUnsignedInt32(ref mapid);
            bu.readMultiByte(ref mapName, ProtoCV.MAX_NAMESIZE + 1, GkEncode.UTF8);
            bu.readUnsignedInt16(ref country);

            bu.readMultiByte(ref countryName, ProtoCV.MAX_NAMESIZE + 1, GkEncode.UTF8);
            bu.readUnsignedInt32(ref bitmask);
            bu.readUnsignedInt32(ref zone_state);
            bu.readUnsignedInt32(ref target_zone);
            bu.readUnsignedInt32(ref model1);
            bu.readUnsignedInt32(ref model2);
            bu.readUnsignedInt32(ref model3);
            bu.readUnsignedInt32(ref model4);
            bu.readUnsignedInt32(ref model5);
            bu.readUnsignedInt32(ref model6);
            bu.readUnsignedInt32(ref model7);
            bu.readUnsignedInt32(ref model8);
            bu.readUnsignedInt32(ref model9);
            bu.readUnsignedInt32(ref model10);
            bu.readUnsignedInt32(ref model11);
            bu.readUnsignedInt32(ref model12);
            bu.readUnsignedInt32(ref model13);
            bu.readUnsignedInt32(ref model14);
            bu.readUnsignedInt32(ref model15);
            bu.readUnsignedInt32(ref model16);

            bu.readUnsignedInt8(ref effect11);
            bu.readUnsignedInt8(ref effect12);
            bu.readUnsignedInt8(ref effect13);
            bu.readUnsignedInt8(ref effect14);
            bu.readUnsignedInt8(ref effect15);
            bu.readUnsignedInt8(ref effect16);
            bu.readUnsignedInt8(ref effect17);
            bu.readUnsignedInt8(ref effect18);

            bu.readUnsignedInt16(ref job);
            bu.readUnsignedInt8(ref height);
            bu.readUnsignedInt8(ref weight);
            bu.readUnsignedInt16(ref picbindloginclearnum);
        }
コード例 #18
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref cardID);
        }
コード例 #19
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref dwThisID);
            bu.readUnsignedInt8(ref who);
            state = new byte[((int)StateID.CARD_STATE_MAX + 7) / 8];
            bu.readBytes(ref state, ((int)StateID.CARD_STATE_MAX + 7) / 8);
        }
コード例 #20
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref index);
            bu.readMultiByte(ref name, ProtoCV.MAX_NAMESIZE + 1, GkEncode.UTF8);
        }
コード例 #21
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            id = new uint[5];
            int idx = 0;
            while(idx < 5)
            {
                bu.readUnsignedInt32(ref id[idx]);
                ++idx;
            }
        }
コード例 #22
0
ファイル: TableSys.cs プロジェクト: zhutaorun/unitygame
        // 读取一个表,仅仅读取表头
        private void readTable(TableID tableID, ByteBuffer bytes)
        {
            TableBase table = m_dicTable[tableID];
            table.m_byteBuffer = bytes;

            bytes.setEndian(Endian.LITTLE_ENDIAN);
            uint len = 0;
            bytes.readUnsignedInt32(ref len);
            uint i = 0;
            TableItemBase item = null;
            for (i = 0; i < len; i++)
            {
                //if (TableID.TABLE_OBJECT == tableID)
                //{
                //    item = new TableItemObject();
                //}
                item = new TableItemBase();
                item.parseHeaderByteBuffer(bytes);
                // 加载完整数据
                //loadOneTableOneItemAll(tableID, table, item);
                //if (TableID.TABLE_OBJECT == tableID)
                //{
                    //item.parseAllByteBuffer<TableObjectItemBody>(bytes);
                //}
                table.m_List.Add(item);
            }
        }
コード例 #23
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref index);
            bu.readUnsignedInt8(ref success);
        }
コード例 #24
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);
            bu.readUnsignedInt32(ref index);
            bu.readUnsignedInt16(ref count);

            id = new List<uint>();
            int idx = 0;
            uint ret = 0;
            while (idx < count)
            {
                bu.readUnsignedInt32(ref ret);
                id.Add(ret);
                ++idx;
            }
        }
コード例 #25
0
 public override void derialize(ByteBuffer bu)
 {
     base.derialize(bu);
     bu.readUnsignedInt32(ref dwMergeVersion);
 }
コード例 #26
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref qwThisID);
            dst = new stObjectLocation();
            dst.derialize(bu);
            bu.readUnsignedInt8(ref success);
        }
コード例 #27
0
 public override void derialize(ByteBuffer bu)
 {
     base.derialize(bu);
     bu.readUnsignedInt32(ref dwServerTimestamp);
 }
コード例 #28
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);
            bu.readUnsignedInt8(ref upperHand);

            id = new uint[4];
            int idx = 0;
            uint ret = 0;
            while (idx < 4)
            {
                bu.readUnsignedInt32(ref ret);
                id[idx] = ret;

                ++idx;
            }
        }
コード例 #29
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref selfNum);
            bu.readUnsignedInt32(ref otherNum);
        }
コード例 #30
0
ファイル: HeroCardCmd.cs プロジェクト: zhutaorun/unitygame
        public override void derialize(ByteBuffer bu)
        {
            base.derialize(bu);

            bu.readUnsignedInt32(ref dwMagicType);
            bu.readUnsignedInt8(ref type);
            bu.readUnsignedInt16(ref count);

            A_object = new t_Card();
            A_object.derialize(bu);

            if (count > 0)
            {
                defList = new t_Card[count];
                for (int idx = 0; idx < count; ++idx)
                {
                    defList[idx] = new t_Card();
                    defList[idx].derialize(bu);
                }
            }
        }