diff --git a/Content.Client/GameObjects/Components/AnimationsTestComponent.cs b/Content.Client/GameObjects/Components/AnimationsTestComponent.cs new file mode 100644 index 0000000000..13cf7280eb --- /dev/null +++ b/Content.Client/GameObjects/Components/AnimationsTestComponent.cs @@ -0,0 +1,54 @@ +using System; +using Robust.Client.Animations; +using Robust.Client.GameObjects.Components.Animations; +using Robust.Client.Interfaces.GameObjects.Components; +using Robust.Shared.Animations; +using Robust.Shared.GameObjects; +using Robust.Shared.Interfaces.GameObjects.Components; +using Robust.Shared.Maths; + +namespace Content.Client.GameObjects.Components +{ + [RegisterComponent] + public sealed class AnimationsTestComponent : Component + { + public override string Name => "AnimationsTest"; + + public override void Initialize() + { + base.Initialize(); + + var animations = Owner.GetComponent(); + animations.Play(new Animation + { + Length = TimeSpan.FromSeconds(20), + AnimationTracks = + { + new AnimationTrackComponentProperty + { + ComponentType = typeof(ITransformComponent), + Property = nameof(ITransformComponent.LocalRotation), + InterpolationMode = AnimationInterpolationMode.Linear, + KeyFrames = + { + new AnimationTrackProperty.KeyFrame(Angle.Zero, 0), + new AnimationTrackProperty.KeyFrame(Angle.FromDegrees(1440), 20) + } + }, + new AnimationTrackComponentProperty + { + ComponentType = typeof(ISpriteComponent), + Property = "layer/0/texture", + KeyFrames = + { + new AnimationTrackProperty.KeyFrame("Objects/toolbox_r.png", 0), + new AnimationTrackProperty.KeyFrame("Objects/Toolbox_b.png", 5), + new AnimationTrackProperty.KeyFrame("Objects/Toolbox_y.png", 5), + new AnimationTrackProperty.KeyFrame("Objects/toolbox_r.png", 5), + } + } + } + }, "yes"); + } + } +} diff --git a/Resources/Prototypes/Entities/Effects/AnimationsTest.yml b/Resources/Prototypes/Entities/Effects/AnimationsTest.yml new file mode 100644 index 0000000000..fb9ebcf317 --- /dev/null +++ b/Resources/Prototypes/Entities/Effects/AnimationsTest.yml @@ -0,0 +1,9 @@ +- type: entity + id: AnimationsTest + components: + - type: Sprite + texture: Objects/Toolbox_b.png + offset: 2, 0 + directional: false + - type: AnimationPlayer + - type: AnimationsTest