private static void GenTypeTreeCode(ArchiveStorageHeader varStorage)
        {
            var tempCalssSet = new Dictionary <string, TypeTree2Class>();

            foreach (var item in varStorage.DirectoryInfo)
            {
                if (!item.IsSerializedFile())
                {
                    continue;
                }

                var tempReader = new EndianBinaryReader(item.Context);
                var tempSF     = new SerializedFile().Parse(tempReader);

                var tempObjMap = tempSF.ObjectMap;
                foreach (var tempKvp in tempObjMap)
                {
                    var tempIdx       = tempKvp.Value.typeID;
                    var tempType      = tempSF.Types[tempIdx];
                    var tempTreeNodes = tempType.mTypeTree.Nodes;

                    var tempClsInfos = TypeTree2Class.Convert(tempTreeNodes);
                    foreach (var tempClsInfo in tempClsInfos)
                    {
                        if (tempCalssSet.TryGetValue(tempClsInfo.ClassName, out var tempCache))
                        {
                            tempCache.VaildIfConflict(tempClsInfo);
                        }
                        else
                        {
                            tempCalssSet.Add(tempClsInfo.ClassName, tempClsInfo);
                        }
                    }
                }
            }

            var tempStr = string.Empty;

            tempStr += "using System.Collections.Generic;\n\n";
            tempStr += "namespace AssetBundleBrowser.ExtractAssets\n{";
            foreach (var item in tempCalssSet)
            {
                tempStr += item.Value.Serialized();
            }
            tempStr += "\n}";

            File.WriteAllText(Path.Combine(Application.dataPath, "AssetBundles-Browser/Editor/ExtractAssets/Dumper/TypetreeGenCode.cs"), tempStr);
        }