示例#1
0
        public CAttribute(EndianBinaryReaderEx reader, CPSSGFile file)
        {
            this.file = file;

            id = reader.ReadInt32();
            int size = reader.ReadInt32();

            if (size == 4)
            {
                data = reader.ReadInt32();
                return;
            }
            else if (size > 4)
            {
                int strlen = reader.ReadInt32();
                if (size - 4 == strlen)
                {
                    data = reader.ReadPSSGString(strlen);
                    return;
                }
                else
                {
                    reader.Seek(-4, System.IO.SeekOrigin.Current);
                }
            }
            data = reader.ReadBytes(size);
        }
示例#2
0
        public CAttribute(EndianBinaryReaderEx reader, CPSSGFile file)
        {
            this.file = file;

            id = reader.ReadInt32();
            int size = reader.ReadInt32();
            if (size == 4) {
                data = reader.ReadInt32();
                return;
            } else if (size > 4) {
                int strlen = reader.ReadInt32();
                if (size - 4 == strlen) {
                    data = reader.ReadPSSGString(strlen);
                    return;
                } else {
                    reader.Seek(-4, System.IO.SeekOrigin.Current);
                }
            }
            data = reader.ReadBytes(size);
        }