- temp fix for shader class. - added new entry. - more updates to CLI - fixes #3 - add #4
52 lines
1.6 KiB
C#
52 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace AssetStudio
|
|
{
|
|
public class ObjectReader : EndianBinaryReader
|
|
{
|
|
public SerializedFile assetsFile;
|
|
public Game Game;
|
|
public long m_PathID;
|
|
public long byteStart;
|
|
public uint byteSize;
|
|
public ClassIDType type;
|
|
public SerializedType serializedType;
|
|
public BuildTarget platform;
|
|
public SerializedFileFormatVersion m_Version;
|
|
|
|
public int[] version => assetsFile.version;
|
|
public BuildType buildType => assetsFile.buildType;
|
|
|
|
public ObjectReader(EndianBinaryReader reader, SerializedFile assetsFile, ObjectInfo objectInfo, Game game) : base(new SubStream(reader.BaseStream, objectInfo.byteStart, objectInfo.byteSize), reader.Endian)
|
|
{
|
|
this.assetsFile = assetsFile;
|
|
Game = game;
|
|
m_PathID = objectInfo.m_PathID;
|
|
byteStart = objectInfo.byteStart;
|
|
byteSize = objectInfo.byteSize;
|
|
if (Enum.IsDefined(typeof(ClassIDType), objectInfo.classID))
|
|
{
|
|
type = (ClassIDType)objectInfo.classID;
|
|
}
|
|
else
|
|
{
|
|
type = ClassIDType.UnknownType;
|
|
}
|
|
serializedType = objectInfo.serializedType;
|
|
platform = assetsFile.m_TargetPlatform;
|
|
m_Version = assetsFile.header.m_Version;
|
|
}
|
|
|
|
public bool Match(string hash) => Convert.ToHexString(serializedType.m_OldTypeHash) == hash;
|
|
|
|
public void Reset()
|
|
{
|
|
Position = 0;
|
|
}
|
|
}
|
|
}
|