using AlicizaX.Event.Runtime; using AlicizaX.Runtime; namespace AlicizaX.Localization.Runtime { /// /// 本地化语言改变事件。 /// public sealed class LocalizationLanguageChangeEventArgs : GameEventArgs { /// /// 本地化语言改变事件编号。 /// public static readonly string EventId = typeof(LocalizationLanguageChangeEventArgs).FullName; /// /// 当前语言。 /// public Language Language { get; set; } /// /// 旧的语言。 /// public Language OldLanguage { get; set; } /// /// 初始化本地化语言改变事件的新实例。 /// public LocalizationLanguageChangeEventArgs() { OldLanguage = Language.Unspecified; Language = Language.Unspecified; } /// /// 创建本地化语言改变事件。 /// /// 旧的语言。 /// 当前语言。 /// 创建的本地化语言改变事件。 public static LocalizationLanguageChangeEventArgs Create(Language oldLanguage, Language language) { LocalizationLanguageChangeEventArgs localizationLanguageChangeEventArgs = ReferencePool.Acquire(); localizationLanguageChangeEventArgs.OldLanguage = oldLanguage; localizationLanguageChangeEventArgs.Language = language; return localizationLanguageChangeEventArgs; } /// /// 清除事件参数。 /// public override void Clear() { OldLanguage = Language.Unspecified; Language = Language.Unspecified; } /// /// 获取事件编号。 /// /// 事件编号。 public override string Id { get { return EventId; } } } }