using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Network; using Robust.Shared.Serialization; using Robust.Shared.Utility; namespace Content.Shared.Points; /// /// This is a component that generically stores points for all players. /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedPointSystem))] public sealed partial class PointManagerComponent : Component { /// /// A dictionary of a player's netuserID to the amount of points they have. /// [DataField("points")] public Dictionary Points = new(); /// /// A text-only version of the scoreboard used by the client. /// [DataField("scoreboard")] public FormattedMessage Scoreboard = new(); } [Serializable, NetSerializable] public sealed class PointManagerComponentState : ComponentState { public Dictionary Points; public FormattedMessage Scoreboard; public PointManagerComponentState(Dictionary points, FormattedMessage scoreboard) { Points = points; Scoreboard = scoreboard; } }