public MonobehaviourSearch(List <AssetDetails> details, AssetsFile file, AssetsManagerLegacy manager) { InitializeComponent(); this.details = details; this.file = file; this.manager = manager; }
public AssetData(AssetsFile af, AssetsManagerLegacy am, AssetDetails assetDetails, string rootDir) { InitializeComponent(); this.af = af; this.am = am; this.assetDetails = assetDetails; this.rootDir = rootDir; PopulateTree(); }
private void AssetViewer_FormClosed(object sender, FormClosedEventArgs e) { assetsManager.file.Close(); assetsManager.classFile.Close(); foreach (AssetsManagerLegacy.Dependency dep in assetsManager.dependencies) { dep.file.Close(); } assetsManager = null; //assetStream.Close(); //classStream.Close(); }
private void GetAssetList() { /*classStream = new FileStream(Path.Combine(Application.StartupPath, "cldb.dat"), FileMode.Open); * * af = new AssetsFile(new AssetsFileReader(assetStream)); * AssetsFileTable aft = new AssetsFileTable(af); * * cldb = new ClassDatabaseFile(); * cldb.Read(new AssetsFileReader(classStream)); * * AssetsFileReader worker = new AssetsFileReader(assetStream); * worker.bigEndian = false; * * foreach (AssetFileInfoEx afi in aft.pAssetFileInfo) * { * ClassDatabaseType type = AssetHelper.FindAssetClassByID(cldb, afi.curFileType); * string assetName = GetAssetNameFast(afi, cldb, type, worker); * string assetType = type.name.GetString(cldb); * string fileID = file.ToString(); * string pathID = unchecked((long)afi.index).ToString(); * string size = afi.curFileSize.ToString(); * string modified = ""; * if (assetName.Trim() == "") assetName = assetType; //todo, seems redundant now, check on this later * string[] items = new string[] { assetName, assetType, fileID, pathID, size, modified }; * assetDetails.Add( * new AssetDetails( * assetName, * assetType, * afi.index, * (uint)file, * afi.curFileType, * afi.absoluteFilePos, * af.typeTree.pTypes_Unity5[afi.curFileTypeOrIndex].scriptIndex * ) * ); * assetList.Items.Add(new ListViewItem(items)); * } * assetList.Items.RemoveAt(0); //remove blank item that's here for some reason*/ assetsManager = new AssetsManagerLegacy(); assetsManager.LoadAssets(assetStream, assetRootDir); assetsManager.LoadClassFile(Path.Combine(Application.StartupPath, "cldb.dat")); AssetsFileReader worker = new AssetsFileReader(assetStream); worker.bigEndian = false; foreach (AssetFileInfoEx afi in assetsManager.initialTable.pAssetFileInfo) { AddAssetItem(assetsManager.initialFile, afi, worker, 0); } assetList.Items.RemoveAt(0); uint id = 1; foreach (AssetsManagerLegacy.Dependency dep in assetsManager.dependencies) { worker = new AssetsFileReader(dep.file); worker.bigEndian = false; foreach (AssetFileInfoEx afi in dep.aft.pAssetFileInfo) { AddAssetItem(dep.af, afi, worker, id); } id++; } }