using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace BFEditor.Resource { public class ModelPrefabDependenciesChecker:BaseDependenciesChecker { public override string GetCheckerName() { return "model-prefab"; } public override string GetCheckPathPrefix() { return "prefabs/models/"; } public override string[] GetWhitePath() { string[] whitePath = { "arts/material/", "arts/textures/", "arts/shader", "arts/animations/" }; return whitePath; } protected override Dictionary> GetDetailWhiteDic() { Dictionary> detailWhiteDic = new Dictionary>(){ {"prefabs/models/cobble_stone", new List(){ "prefabs/models/cobble_stone/" } }, {"prefabs/models/underground_palace", new List(){ "arts/models/maps/underground_palace.ab", "arts/models/maps/underground_palace/materials.ab", "arts/effects/underground_palace/", } }, {"prefabs/models/characters/1017_zoey_", new List(){ "arts/models/characters/1017_zoey", } }, }; return detailWhiteDic; } public override void OnCheck(string bundleName, ref List abnormalDependencies) { List dependencies = new List(); string[] strs = bundleName.Split('/'); string name = strs[strs.Length - 1].Split('.')[0]; foreach(var dependent in abnormalDependencies) { if(dependent.Contains(name)) { continue; } dependencies.Add(dependent); } abnormalDependencies = dependencies; } } }