using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Language.Components.Translators; public abstract partial class BaseTranslatorComponent : Component { /// /// The list of additional languages this translator allows the wielder to speak. /// [DataField("spoken")] public List> SpokenLanguages = new(); /// /// The list of additional languages this translator allows the wielder to understand. /// [DataField("understood")] public List> UnderstoodLanguages = new(); /// /// The languages the wielding MUST know in order for this translator to have effect. /// The field [RequiresAllLanguages] indicates whether all of them are required, or just one. /// [DataField("requires")] public List> RequiredLanguages = new(); /// /// If true, the wielder must understand all languages in [RequiredLanguages] to speak [SpokenLanguages], /// and understand all languages in [RequiredLanguages] to understand [UnderstoodLanguages]. /// /// Otherwise, at least one language must be known (or the list must be empty). /// [DataField("requiresAll")] public bool RequiresAllLanguages = false; [DataField("enabled")] public bool Enabled = true; }