using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace BFEditor.Resource { public class ModelDependenciesChecker:BaseDependenciesChecker { public override string GetCheckerName() { return "model"; } public override string GetCheckPathPrefix() { return "arts/models/"; } public override string[] GetWhitePath() { string[] whitePath = { "arts/shaders.ab", "arts/effects/common/textures/" }; return whitePath; } protected override Dictionary> GetDetailWhiteDic() { Dictionary> detailWhiteDic = new Dictionary>(){ {"arts/models/characters/141002_elfassassin.ab", new List(){ "arts/animations/models/characters/141002_elfassassin.ab" } }, {"arts/models/characters/141004_elfsoldier.ab", new List(){ "arts/animations/models/characters/141004_elfsoldier.ab" } }, {"arts/models/maps/underground_palace/materials.ab", new List(){ "arts/effects/underground_palace/common.ab" } }, }; 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]; string path = bundleName.Replace("/" + name, string.Empty); foreach(var dependent in abnormalDependencies) { if(dependent.Contains(path)) { continue; } dependencies.Add(dependent); } abnormalDependencies = dependencies; } } }