shity basic one shot

This commit is contained in:
2026-09-18 14:01:10 +01:00
parent 5851077659
commit 42a1234e7f
81 changed files with 3484 additions and 76 deletions
@@ -0,0 +1,55 @@
using UnityEngine;
using UnityEditor;
using UnityEditor.Animations;
// ReSharper disable once CheckNamespace
namespace AnimatorAsCode.V1
{
public interface IAacAssetContainerProvider
{
void SaveAsPersistenceRequired(Object objectToAdd);
void SaveAsRegular(Object objectToAdd);
void ClearPreviousAssets();
}
internal sealed class AacSimpleAssetContainerProvider : IAacAssetContainerProvider
{
private readonly AacConfiguration _configuration;
internal AacSimpleAssetContainerProvider(AacConfiguration configuration)
{
_configuration = configuration;
}
public void SaveAsPersistenceRequired(Object objectToAdd)
{
if (_configuration.AssetContainer == null) return;
if (_configuration.ContainerMode != AacConfiguration.Container.Never) AssetDatabase.AddObjectToAsset(objectToAdd, _configuration.AssetContainer);
}
public void SaveAsRegular(Object objectToAdd)
{
if (_configuration.AssetContainer == null) return;
if (_configuration.ContainerMode == AacConfiguration.Container.Everything) AssetDatabase.AddObjectToAsset(objectToAdd, _configuration.AssetContainer);
}
public void ClearPreviousAssets()
{
if (_configuration.AssetContainer == null) return;
var allSubAssets = AssetDatabase.LoadAllAssetsAtPath(AssetDatabase.GetAssetPath(_configuration.AssetContainer));
foreach (var subAsset in allSubAssets)
{
if (
(
subAsset.name.StartsWith($"{AacInternals.AutoGeneratedPrefix}{_configuration.AssetKey}__")
|| subAsset.name.StartsWith($"{AacInternals.AutoGeneratedLegacyPrefix}{_configuration.AssetKey}__")
)
&& (subAsset is AnimationClip || subAsset is BlendTree || subAsset is AvatarMask))
{
AssetDatabase.RemoveObjectFromAsset(subAsset);
}
}
}
}
}