using Content.Shared.Research.Prototypes; using Robust.Shared.GameStates; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Research.Components { [RegisterComponent, NetworkedComponent] public sealed class TechnologyDatabaseComponent : Component { [DataField("technologyIds", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List TechnologyIds = new(); [DataField("recipeIds", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List RecipeIds = new(); } [Serializable, NetSerializable] public sealed class TechnologyDatabaseState : ComponentState { public List Technologies; public List Recipes; public TechnologyDatabaseState(List technologies, List recipes) { Technologies = technologies; Recipes = recipes; } } }