Esempio n. 1
0
        public void Read(UruStream s)
        {
            ulong bit = 1;
            Fields f = (Fields)s.ReadULong();
            while (bit != 0 && bit <= (ulong)f) {
                switch (f & (Fields)bit) {
                    case Fields.kBlob_1:
                        fBlob[0] = s.ReadBytes(s.ReadInt());
                        break;
                    case Fields.kBlob_2:
                        fBlob[1] = s.ReadBytes(s.ReadInt());
                        break;
                    case Fields.kCreateAgeName:
                        fCreateAgeName = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kCreateAgeUuid:
                        fCreateAgeUuid = new Guid(s.ReadBytes(16));
                        break;
                    case Fields.kCreateTime:
                        fCreateTime = ToDateTime(s.ReadUInt());
                        break;
                    case Fields.kCreatorIdx:
                        fCreatorIdx = s.ReadUInt();
                        break;
                    case Fields.kCreatorUuid:
                        fCreatorUuid = new Guid(s.ReadBytes(16));
                        break;
                    case Fields.kInt32_1:
                        fInt32[0] = s.ReadInt();
                        break;
                    case Fields.kInt32_2:
                        fInt32[1] = s.ReadInt();
                        break;
                    case Fields.kInt32_3:
                        fInt32[2] = s.ReadInt();
                        break;
                    case Fields.kInt32_4:
                        fInt32[3] = s.ReadInt();
                        break;
                    case Fields.kIString64_1:
                        fIString64[0] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kIString64_2:
                        fIString64[1] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kModifyTime:
                        fModifyTime = ToDateTime(s.ReadUInt());
                        break;
                    case Fields.kNodeIdx:
                        fIdx = s.ReadUInt();
                        break;
                    case Fields.kNodeType:
                        fNodeType = (ENodeType)s.ReadUInt();
                        break;
                    case Fields.kString64_1:
                        fString64[0] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kString64_2:
                        fString64[1] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kString64_3:
                        fString64[2] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kString64_4:
                        fString64[3] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kString64_5:
                        fString64[4] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kString64_6:
                        fString64[5] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kText_1:
                        fText[0] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kText_2:
                        fText[0] = s.ReadUnicodeStringV32();
                        break;
                    case Fields.kUInt32_1:
                        fUInt32[0] = s.ReadUInt();
                        break;
                    case Fields.kUInt32_2:
                        fUInt32[1] = s.ReadUInt();
                        break;
                    case Fields.kUInt32_3:
                        fUInt32[2] = s.ReadUInt();
                        break;
                    case Fields.kUInt32_4:
                        fUInt32[3] = s.ReadUInt();
                        break;
                    case Fields.kUuid_1:
                        fUuid[0] = new Guid(s.ReadBytes(16));
                        break;
                    case Fields.kUuid_2:
                        fUuid[1] = new Guid(s.ReadBytes(16));
                        break;
                    case Fields.kUuid_3:
                        fUuid[2] = new Guid(s.ReadBytes(16));
                        break;
                    case Fields.kUuid_4:
                        fUuid[3] = new Guid(s.ReadBytes(16));
                        break;
                }

                bit <<= 1;
            }
        }