2025-06-23 11:42:47 -07:00

56 lines
1.4 KiB
C#

using AssetRipper.SourceGenerated.Classes.ClassID_111;
using AssetRipper.SourceGenerated.Classes.ClassID_74;
using AssetRipper.SourceGenerated.Enums;
using AssetRipper.SourceGenerated.Subclasses.PPtr_AnimationClip;
namespace AssetRipper.SourceGenerated.Extensions;
public static class AnimationExtensions
{
public static bool ContainsAnimationClip(this IAnimation animation, IAnimationClip clip)
{
foreach (IPPtr_AnimationClip clipPtr in animation.Animations)
{
if (clipPtr.IsAsset(animation.Collection, clip))
{
return true;
}
}
return false;
}
public static bool GetAnimateOnlyIfVisible(this IAnimation animation)
{
// 2.6.0 to 3.4.0 exclusive
//if (animation.Has_AnimateOnlyIfVisible_C111())
{
//return animation.AnimateOnlyIfVisible_C111;
}
//else if (animation.Has_CullingType_C111())
{
return animation.CullingTypeE != AnimationCullingType.AlwaysAnimate;
}
//else
//{
// return false;
//}
}
public static AnimationCullingType GetAnimationCullingType(this IAnimation animation)
{
// 2.6.0 to 3.4.0 exclusive
//if (animation.Has_AnimateOnlyIfVisible_C111())
{
//return animation.AnimateOnlyIfVisible_C111 ? AnimationCullingType.BasedOnRenderers : AnimationCullingType.AlwaysAnimate;
}
//else if (animation.Has_CullingType_C111())
{
return animation.CullingTypeE;
}
//else
//{
// return default;
//}
}
}