示例#1
0
 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);
     }
 }
示例#2
0
        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;
            }
        }