public ResourceReader(string path, SerializedFile assetsFile, long offset, int size) { needSearch = true; this.path = path; this.assetsFile = assetsFile; this.offset = offset; this.size = size; }
public ObjectReader(EndianBinaryReader reader, SerializedFile assetsFile, ObjectInfo objectInfo) : base(reader.BaseStream, reader.endian) { this.assetsFile = assetsFile; 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; }
private SerializedFile LoadSerializedFileFromMemory(string fullName, EndianBinaryReader reader, string originalPath) { // TODO check if exists in resourceFileReaders first var upperFileName = Path.GetFileName(fullName).ToUpper(); try { var assetsFile = new SerializedFile(this, fullName, reader); assetsFile.originalPath = originalPath; return(assetsFile); } catch { // catch block required return(null); } finally { resourceFileReaders.Add(upperFileName, reader); } }
private bool TryGetAssetsFile(out SerializedFile result) { result = null; if (m_FileID == 0) { result = assetsFile; return(true); } if (m_FileID > 0 && m_FileID - 1 < assetsFile.m_Externals.Count) { throw new NotImplementedException(); //var assetsManager = assetsFile.assetsManager; //var assetsFileList = assetsManager.assetsFileList; //var assetsFileIndexCache = assetsManager.assetsFileIndexCache; //if (index == -2) //{ // var m_External = assetsFile.m_Externals[m_FileID - 1]; // var name = m_External.fileName.ToUpper(); // if (!assetsFileIndexCache.TryGetValue(name, out index)) // { // index = assetsFileList.FindIndex(x => x.upperFileName == name); // assetsFileIndexCache.Add(name, index); // } //} //if (index >= 0) //{ // result = assetsFileList[index]; // return true; //} } return(false); }
private int index = -2; //-2 - Prepare, -1 - Missing public PPtr(ObjectReader reader) { m_FileID = reader.ReadInt32(); m_PathID = reader.m_Version < 14 ? reader.ReadInt32() : reader.ReadInt64(); assetsFile = reader.assetsFile; }