using Robust.Client.Animations; using Robust.Client.Graphics; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Client.Chemistry.Visualizers; /// /// A component that makes foam play an animation when it dissolves. /// [RegisterComponent] [Access(typeof(FoamVisualizerSystem))] public sealed partial class FoamVisualsComponent : Component { /// /// The id of the animation used when the foam dissolves. /// public const string AnimationKey = "foamdissolve_animation"; [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan StartTime; /// /// How long the foam visually dissolves for. /// [DataField] public float AnimationTime = 0.5f; /// /// The state of the entities base sprite RSI that is displayed when the foam dissolves. /// Cannot use because it does not have and I am not making an engine PR at this time. /// [DataField] public string AnimationState = "foam-dissolve"; /// /// The animation used while the foam dissolves. /// Generated by . /// [ViewVariables(VVAccess.ReadOnly)] public Animation Animation = default!; }