using Content.Server.NPC.Systems; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set; namespace Content.Server.NPC.Components { [RegisterComponent] [Access(typeof(NpcFactionSystem))] public sealed class NpcFactionMemberComponent : Component { /// /// Factions this entity is a part of. /// [ViewVariables(VVAccess.ReadWrite), DataField("factions", customTypeSerializer:typeof(PrototypeIdHashSetSerializer))] public HashSet Factions = new(); /// /// Cached friendly factions. /// [ViewVariables] public readonly HashSet FriendlyFactions = new(); /// /// Cached hostile factions. /// [ViewVariables] public readonly HashSet HostileFactions = new(); } }