Optimise emergency lights a bit (#4567)

* Optimise emergency lights a bit

* Fixes

* Delete the failing test, sinple

* Revert "Delete the failing test, sinple"

This reverts commit 7d9e3a3bb6975c15add2987e39e0d3ba85d88be3.

* Start server and fix test

It just werks
This commit is contained in:
metalgearsloth
2021-09-27 14:51:17 +10:00
committed by GitHub
parent c298a8dc8e
commit 91665cf0e6
8 changed files with 141 additions and 47 deletions

View File

@@ -1,45 +1,12 @@
using System;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
using Robust.Shared.Animations;
using Content.Shared.Light.Component;
using Robust.Shared.GameObjects;
using Robust.Shared.Maths;
using Robust.Shared.GameStates;
namespace Content.Client.Light.Components
{
[RegisterComponent]
public class EmergencyLightComponent : Component
[NetworkedComponent]
public class EmergencyLightComponent : SharedEmergencyLightComponent
{
public override string Name => "EmergencyLight";
/// <inheritdoc/>
protected override void Startup()
{
base.Startup();
var animation = new Animation
{
Length = TimeSpan.FromSeconds(4),
AnimationTracks =
{
new AnimationTrackComponentProperty
{
ComponentType = typeof(PointLightComponent),
InterpolationMode = AnimationInterpolationMode.Linear,
Property = nameof(PointLightComponent.Rotation),
KeyFrames =
{
new AnimationTrackProperty.KeyFrame(Angle.Zero, 0),
new AnimationTrackProperty.KeyFrame(Angle.FromDegrees(1080), 4)
}
}
}
};
var playerComponent = Owner.EnsureComponent<AnimationPlayerComponent>();
playerComponent.Play(animation, "emergency");
playerComponent.AnimationCompleted += s => playerComponent.Play(animation, s);
}
}
}