mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-01-18 03:09:45 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
50 lines
1.1 KiB
C#
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;
|
|
}
|