mirror of https://github.com/tuyoogame/YooAsset
Change Editor Cache type Loading API to TypeCache
parent
3cbf891674
commit
d58a82bfa5
Assets/YooAsset/Editor/AssetBundleCollector
|
@ -113,24 +113,11 @@ namespace YooAsset.Editor
|
||||||
_cachePackRuleTypes.Clear();
|
_cachePackRuleTypes.Clear();
|
||||||
_cachePackRuleInstance.Clear();
|
_cachePackRuleInstance.Clear();
|
||||||
|
|
||||||
// 获取所有类型
|
var types = TypeCache.GetTypesDerivedFrom<IPackRule>();
|
||||||
List<Type> types = new List<Type>(100)
|
|
||||||
{
|
|
||||||
typeof(PackSeparately),
|
|
||||||
typeof(PackDirectory),
|
|
||||||
typeof(PackTopDirectory),
|
|
||||||
typeof(PackCollector),
|
|
||||||
typeof(PackGroup),
|
|
||||||
typeof(PackRawFile),
|
|
||||||
};
|
|
||||||
|
|
||||||
var customTypes = EditorTools.GetAssignableTypes(typeof(IPackRule));
|
foreach(var type in types)
|
||||||
types.AddRange(customTypes);
|
|
||||||
for (int i = 0; i < types.Count; i++)
|
|
||||||
{
|
{
|
||||||
Type type = types[i];
|
_cachePackRuleTypes.TryAdd(type.Name, type);
|
||||||
if (_cachePackRuleTypes.ContainsKey(type.Name) == false)
|
|
||||||
_cachePackRuleTypes.Add(type.Name, type);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,22 +127,11 @@ namespace YooAsset.Editor
|
||||||
_cacheFilterRuleTypes.Clear();
|
_cacheFilterRuleTypes.Clear();
|
||||||
_cacheFilterRuleInstance.Clear();
|
_cacheFilterRuleInstance.Clear();
|
||||||
|
|
||||||
// 获取所有类型
|
var types = TypeCache.GetTypesDerivedFrom<IFilterRule>();
|
||||||
List<Type> types = new List<Type>(100)
|
|
||||||
|
foreach(var type in types)
|
||||||
{
|
{
|
||||||
typeof(CollectAll),
|
_cacheFilterRuleTypes.TryAdd(type.Name, type);
|
||||||
typeof(CollectScene),
|
|
||||||
typeof(CollectPrefab),
|
|
||||||
typeof(CollectSprite)
|
|
||||||
};
|
|
||||||
|
|
||||||
var customTypes = EditorTools.GetAssignableTypes(typeof(IFilterRule));
|
|
||||||
types.AddRange(customTypes);
|
|
||||||
for (int i = 0; i < types.Count; i++)
|
|
||||||
{
|
|
||||||
Type type = types[i];
|
|
||||||
if (_cacheFilterRuleTypes.ContainsKey(type.Name) == false)
|
|
||||||
_cacheFilterRuleTypes.Add(type.Name, type);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,21 +141,11 @@ namespace YooAsset.Editor
|
||||||
_cacheAddressRuleTypes.Clear();
|
_cacheAddressRuleTypes.Clear();
|
||||||
_cacheAddressRuleInstance.Clear();
|
_cacheAddressRuleInstance.Clear();
|
||||||
|
|
||||||
// 获取所有类型
|
var types = TypeCache.GetTypesDerivedFrom<IAddressRule>();
|
||||||
List<Type> types = new List<Type>(100)
|
|
||||||
|
foreach(var type in types)
|
||||||
{
|
{
|
||||||
typeof(AddressByFileName),
|
_cacheAddressRuleTypes.TryAdd(type.Name, type);
|
||||||
typeof(AddressByCollectorAndFileName),
|
|
||||||
typeof(AddressByGroupAndFileName)
|
|
||||||
};
|
|
||||||
|
|
||||||
var customTypes = EditorTools.GetAssignableTypes(typeof(IAddressRule));
|
|
||||||
types.AddRange(customTypes);
|
|
||||||
for (int i = 0; i < types.Count; i++)
|
|
||||||
{
|
|
||||||
Type type = types[i];
|
|
||||||
if (_cacheAddressRuleTypes.ContainsKey(type.Name) == false)
|
|
||||||
_cacheAddressRuleTypes.Add(type.Name, type);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue