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