mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-27 22:00:23 -04:00
53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Unity_Studio
|
|
{
|
|
|
|
class AssetBundle
|
|
{
|
|
public class AssetInfo
|
|
{
|
|
public int preloadIndex;
|
|
public int preloadSize;
|
|
public PPtr asset;
|
|
}
|
|
|
|
public class ContainerData
|
|
{
|
|
public string first;
|
|
public AssetInfo second;
|
|
}
|
|
|
|
|
|
public List<ContainerData> m_Container = new List<ContainerData>();
|
|
|
|
public AssetBundle(AssetPreloadData preloadData)
|
|
{
|
|
var sourceFile = preloadData.sourceFile;
|
|
var a_Stream = preloadData.sourceFile.assetsFileReader;
|
|
a_Stream.Position = preloadData.Offset;
|
|
|
|
var m_Name = a_Stream.ReadAlignedString(a_Stream.ReadInt32());
|
|
var size = a_Stream.ReadInt32();
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
sourceFile.ReadPPtr();
|
|
}
|
|
size = a_Stream.ReadInt32();
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
var temp = new ContainerData();
|
|
temp.first = a_Stream.ReadAlignedString(a_Stream.ReadInt32());
|
|
temp.second = new AssetInfo();
|
|
temp.second.preloadIndex = a_Stream.ReadInt32();
|
|
temp.second.preloadSize = a_Stream.ReadInt32();
|
|
temp.second.asset = sourceFile.ReadPPtr();
|
|
m_Container.Add(temp);
|
|
}
|
|
}
|
|
}
|
|
}
|