public void Extract(Asset asset, TypeTreeDataBase typeTreeDB, string outputPath, ExtractMode mode = ExtractMode.Auto) { foreach (var objinfo in asset.ObjectInfos) { string className = AssetToolUtility.ClassIDToClassName(objinfo.classID); var path = outputPath + "/Class " + objinfo.classID + " " + className + "/"; var typeTree = typeTreeDB.GetType(asset.AssetVersion, objinfo.classID); ExtractObjct(objinfo, typeTree, outputPath, mode); } }
public void ExtractObjct(Asset.AssetObjectInfo obj, TypeTree typeTree, string outputPath, ExtractMode mode = ExtractMode.Auto) { outputPath = outputPath + "\\" + AssetToolUtility.ClassIDToClassName(obj.classID) + "\\"; switch (mode) { case ExtractMode.Auto: ExtractAuto(obj, typeTree, outputPath); break; case ExtractMode.OnlyRawBits: extractOnlyRawBits(obj, typeTree, outputPath); break; case ExtractMode.OnlyRawText: extractOnlyRawText(obj, typeTree, outputPath); break; case ExtractMode.RawTextOrRawBits: extractRawTextOrRawBits(obj, typeTree, outputPath); break; } }