Exemple #1
0
 public MonobehaviourSearch(List <AssetDetails> details, AssetsFile file, AssetsManagerLegacy manager)
 {
     InitializeComponent();
     this.details = details;
     this.file    = file;
     this.manager = manager;
 }
Exemple #2
0
 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++;
            }
        }