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 = []; }