public static DataChangeEvent Serdes(DataChangeEvent e, AssetMapping mapping, ISerializer s) { if (s == null) { throw new ArgumentNullException(nameof(s)); } if (s.IsWriting() && e == null) { throw new ArgumentNullException(nameof(e)); } ChangeProperty property = s.EnumU8(nameof(ChangeProperty), e?.ChangeProperty ?? ChangeProperty.Unk0); return(property switch { ChangeProperty.Unk0 => ChangeUnk0Event.Serdes((ChangeUnk0Event)e, s), ChangeProperty.Health => ChangeHealthEvent.Serdes((ChangeHealthEvent)e, mapping, s), ChangeProperty.Mana => ChangeManaEvent.Serdes((ChangeManaEvent)e, mapping, s), ChangeProperty.Status => ChangeStatusEvent.Serdes((ChangeStatusEvent)e, mapping, s), ChangeProperty.Language => ChangeLanguageEvent.Serdes((ChangeLanguageEvent)e, mapping, s), ChangeProperty.Experience => ChangeExperienceEvent.Serdes((ChangeExperienceEvent)e, mapping, s), ChangeProperty.UnkB => ChangeUnkBEvent.Serdes((ChangeUnkBEvent)e, s), ChangeProperty.UnkC => ChangeUnkCEvent.Serdes((ChangeUnkCEvent)e, s), ChangeProperty.Item => ChangeItemEvent.Serdes((ChangeItemEvent)e, mapping, s), ChangeProperty.Gold => ChangeGoldEvent.Serdes((ChangeGoldEvent)e, mapping, s), ChangeProperty.Food => ChangeFoodEvent.Serdes((ChangeFoodEvent)e, mapping, s), _ => throw new FormatException($"Unexpected data change type \"{property}\"") });
private void ChangeLanguage(string language) { var culture = CultureInfo.GetCultureInfo(language); var oldCulture = Dispatcher.Thread.CurrentCulture; Dispatcher.Thread.CurrentCulture = culture; Dispatcher.Thread.CurrentUICulture = culture; ChangeLanguageEvent changeLanguageEvent = new ChangeLanguageEvent(culture.Name, oldCulture.Name); SimpleEventBus.GetDefaultEventBus().Post(changeLanguageEvent, TimeSpan.Zero); WpfConsole.WriteLine("Change localization on: " + culture.Name + " from: " + oldCulture.Name); }
private void cmbLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e) { if ((string)((ComboBoxItem)cmbLanguage.SelectedItem).Content == "English") { Settings.Default.Language = "EN"; Settings.Default.Save(); RefreshLanguage(); ChangeLanguageEvent?.Invoke(sender, e); } else if ((string)((ComboBoxItem)cmbLanguage.SelectedItem).Content == "日本語") { Settings.Default.Language = "JP"; Settings.Default.Save(); RefreshLanguage(); ChangeLanguageEvent?.Invoke(sender, e); } }
public static ChangeLanguageEvent Serdes(ChangeLanguageEvent e, AssetMapping mapping, ISerializer s) { if (s == null) { throw new ArgumentNullException(nameof(s)); } e ??= new ChangeLanguageEvent(); e.Operation = s.EnumU8(nameof(Operation), e.Operation); e.Unk3 = s.UInt8(nameof(Unk3), e.Unk3); int zeroed = s.UInt8(null, 0); e.PartyMemberId = PartyMemberId.SerdesU8(nameof(PartyMemberId), e.PartyMemberId, mapping, s); e.Language = s.EnumU8(nameof(Language), e.Language); s.UInt8(null, 0); zeroed += s.UInt16(null, 0); s.Assert(zeroed == 0, "ChangeLanguageEvent: Expected byte 4 to be 0"); return(e); }
public void HandleOutputEvent(ChangeLanguageEvent changeLanguageEvent) { UpdateLanguage(); }