Files
sbox-public/engine/Sandbox.Engine/Systems/SceneSystem/Accessors/SceneObjectAnimationSequence.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

50 lines
1.1 KiB
C#

using Sandbox;
/// <summary>
/// Hidden class. addon code should only ever access AnimationSequence.
/// </summary>
internal sealed class SceneObjectAnimationSequence : AnimationSequence
{
readonly SceneModel Target;
public SceneObjectAnimationSequence( SceneModel sceneObject )
{
Target = sceneObject;
}
public override float Duration => Target.animNative.GetSequenceDuration();
public override bool IsFinished => Target.animNative.IsSequenceFinished();
public override string Name
{
get => Target.animNative.GetSequence();
set => Target.animNative.SetSequence( value );
}
public override float TimeNormalized
{
get => Target.animNative.GetSequenceCycle();
set => Target.animNative.SetSequenceCycle( value );
}
public override float Time
{
get => TimeNormalized * Duration;
set => TimeNormalized = value / Duration;
}
internal override bool Looping
{
set => Target.animNative.SetSequenceLooping( value );
}
internal override bool Blending
{
set => Target.animNative.SetSequenceBlending( value );
}
public override IReadOnlyList<string> SequenceNames => Target.Model.SequenceNames;
}