namespace Content.Shared.Language;
// TODO: either move all language speaker-related components to server side, or make everything else shared.
// The current approach leads to confusion, as the server never informs the client of updates in these components.
///
/// Stores the current state of the languages the entity can speak and understand.
///
///
/// All fields of this component are populated during a DetermineEntityLanguagesEvent.
/// They are not to be modified externally.
///
[RegisterComponent]
public sealed partial class LanguageSpeakerComponent : Component
{
///
/// The current language the entity uses when speaking.
/// Other listeners will hear the entity speak in this language.
///
[DataField]
public string CurrentLanguage = ""; // The language system will override it on init
///
/// List of languages this entity can speak at the current moment.
///
public List SpokenLanguages = [];
///
/// List of languages this entity can understand at the current moment.
///
public List UnderstoodLanguages = [];
}