Changed AssetContainer type to Object, add ContainerMode

This commit is contained in:
Haï~
2023-10-04 10:59:52 +02:00
parent a43516f45e
commit 21adaa86a6
3 changed files with 28 additions and 25 deletions
@@ -25,8 +25,8 @@ namespace AnimatorAsCode.V1
// public VRCAvatarDescriptor AvatarDescriptor;
public Transform AnimatorRoot;
public Transform DefaultValueRoot;
public AnimatorController AssetContainer;
public Object GenericAssetContainer;
public Object AssetContainer;
public Container ContainerMode;
public string AssetKey;
public IAacDefaultsProvider DefaultsProvider;
@@ -52,18 +52,21 @@ namespace AnimatorAsCode.V1
return false;
}
internal Object GetPersistentAssetContainer()
internal Object AsPersistentContainerRequired()
{
var container = AssetContainer != null ? AssetContainer : GenericAssetContainer;
if (container != null && EditorUtility.IsPersistent(container)) return container;
return null;
return ContainerMode != Container.Never ? AssetContainer : null;
}
internal Object GetAssetContainer()
internal Object AsRegularContainer()
{
var container = AssetContainer != null ? AssetContainer : GenericAssetContainer;
if (container != null) return container;
return null;
return ContainerMode == Container.Everything ? AssetContainer : null;
}
public enum Container
{
Everything,
OnlyWhenPersistenceRequired,
Never
}
}
@@ -429,7 +432,7 @@ namespace AnimatorAsCode.V1
/// Removes all assets from the asset container matching the specified asset key.
public void ClearPreviousAssets()
{
var allSubAssets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(_configuration.GetPersistentAssetContainer()));
var allSubAssets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(_configuration.AsPersistentContainerRequired()));
foreach (var subAsset in allSubAssets)
{
if (subAsset.name.StartsWith($"zAutogenerated__{_configuration.AssetKey}__")