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;
}