2023-04-03 11:04:31 +08:00

68 lines
2.2 KiB
C#

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<string, List<string>> GetDetailWhiteDic()
{
Dictionary<string, List<string>> detailWhiteDic = new Dictionary<string, List<string>>(){
{"prefabs/models/cobble_stone",
new List<string>(){
"prefabs/models/cobble_stone/"
}
},
{"prefabs/models/underground_palace",
new List<string>(){
"arts/models/maps/underground_palace.ab",
"arts/models/maps/underground_palace/materials.ab",
"arts/effects/underground_palace/",
}
},
{"prefabs/models/characters/1017_zoey_",
new List<string>(){
"arts/models/characters/1017_zoey",
}
},
};
return detailWhiteDic;
}
public override void OnCheck(string bundleName, ref List<string> abnormalDependencies)
{
List<string> dependencies = new List<string>();
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;
}
}
}