private void BuildDirectory(AssetDirectory directory)
    {
        string[] folders = AssetDatabase.GetSubFolders(directory.Path);
        foreach (string folder in folders)
        {
            AssetDirectory subDirectory = new AssetDirectory(folder.Substring(folder.LastIndexOf("/") + 1));
            directory.AddChild(subDirectory);
            BuildDirectory(subDirectory);
        }

        BuildSubFiles(directory);
    }
    private void BuildSubFiles(AssetDirectory directory)
    {
        DirectoryInfo direction = new DirectoryInfo(directory.Path);

        FileInfo[] files = direction.GetFiles();

        for (int i = 0; i < files.Length; i++)
        {
            if (files[i].Name.EndsWith(".meta"))
            {
                continue;
            }

            AssetFile file = new AssetFile(files[i].Name);
            directory.AddChild(file);
            _assetDatas.AllAssetFiles.Add(file);

            string[] test = AssetDatabase.GetDependencies(file.Path, false);
            _dependenciesDic.Add(file.Path, test);

            EditorUtility.DisplayProgressBar("Loading Asset Datas", file.Name, (float)(_progressValue++) / _progressTotal);
        }
    }