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

67 lines
2.2 KiB
C#

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<string, List<string>> GetDetailWhiteDic()
{
Dictionary<string, List<string>> detailWhiteDic = new Dictionary<string, List<string>>(){
{"arts/models/characters/141002_elfassassin.ab",
new List<string>(){
"arts/animations/models/characters/141002_elfassassin.ab"
}
},
{"arts/models/characters/141004_elfsoldier.ab",
new List<string>(){
"arts/animations/models/characters/141004_elfsoldier.ab"
}
},
{"arts/models/maps/underground_palace/materials.ab",
new List<string>(){
"arts/effects/underground_palace/common.ab"
}
},
};
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];
string path = bundleName.Replace("/" + name, string.Empty);
foreach(var dependent in abnormalDependencies)
{
if(dependent.Contains(path))
{
continue;
}
dependencies.Add(dependent);
}
abnormalDependencies = dependencies;
}
}
}