예제 #1
0
        public static FileIdentifier Read(DataReader reader, bool includeAssetPath)
        {
            FileIdentifier fi = new FileIdentifier();

            if (includeAssetPath) {
                fi.AssetPath = reader.ReadString();
            }

            fi.GUID = reader.ReadBytes(16);
            fi.Type = reader.ReadInt32();
            fi.FilePath = reader.ReadString();

            return fi;
        }
예제 #2
0
        public static TypeNode Read(DataReader reader)
        {
            TypeNode tn = new TypeNode();

            tn.Type = reader.ReadString();
            tn.Name = reader.ReadString();
            tn.ByteSize = reader.ReadInt32();
            tn.Index = reader.ReadInt32();
            tn.IsArray = reader.ReadInt32();
            tn.Version = reader.ReadInt32();
            tn.MetaFlag = reader.ReadInt32();

            int numberOfChildren = reader.ReadInt32();
            tn.Children = new TypeNode[numberOfChildren];

            for (int i = 0; i < numberOfChildren; i++) {
                tn.Children[i] = TypeNode.Read(reader);
            }

            return tn;
        }
        public static RTTIClassHierarchyDescriptor Read(DataReader reader)
        {
            RTTIClassHierarchyDescriptor chd = new RTTIClassHierarchyDescriptor();

            chd.Signature = reader.ReadString();
            chd.Attributes = reader.ReadInt32();
            chd.NumberOfBaseClasses = reader.ReadInt32();
            chd.BaseClassDescriptors = new RTTIBaseClassDescriptor[chd.NumberOfBaseClasses];

            for (int i = 0; i < chd.NumberOfBaseClasses; i++) {
                chd.BaseClassDescriptors[i] = RTTIBaseClassDescriptor.Read(reader);
            }

            reader.ReadBytes(4); //Read padding bytes

            return chd;
        }