using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Fluids.Components; /// /// Added to puddles that contain water so it may evaporate over time. /// [NetworkedComponent, AutoGenerateComponentPause, AutoGenerateComponentState] [RegisterComponent, Access(typeof(SharedPuddleSystem))] public sealed partial class EvaporationComponent : Component { /// /// The next time we remove the EvaporationSystem reagent amount from this entity. /// [AutoNetworkedField, AutoPausedField] [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan NextTick; /// /// Evaporation factor. Multiplied by the evaporating speed of the reagent. /// [DataField] public FixedPoint2 EvaporationAmount = FixedPoint2.New(1); /// /// The effect spawned when the puddle fully evaporates. /// [DataField] public EntProtoId EvaporationEffect = "PuddleSparkle"; }