static Menu() { LanguageTag = EnumCache <Language> .Description(default(Language)); if (!Platform.HasRenderAPI) { return; } if (Platform.HasCoreAPI) { // Game.OnStart += Subscribe; } //else { Subscribe(null); } void Subscribe(EventArgs args) { Render.OnEndScene += OnEndScene; if (Platform.HasUserInputAPI) { UserInput.OnWndProc += OnWndProc; } } }
private static void SetLanguage(Language language) { var tag = EnumCache <Language> .Description(language); if (LanguageTag == tag) { return; } Language = language; LanguageTag = tag; Roots.ForEach(menu => menu.UpdateTranslations()); OnLanguageChanged.SafeInvoke(EventArgs.Empty); }
/// <summary> /// Initializes static members of the <see cref="Translations"/> class /// </summary> static Translations() { LanguageInfos = EnumCache <Language> .Values.ToDictionary( language => language, language => new CultureInfo(EnumCache <Language> .Description(language))); }