public EffectConfig(EffectData effectData, EffectInfo effectInfo, int lang) { InitializeComponent(); effect_rename.Content = Lang.effect_config("effect_rename", lang); effect_override_timer_type.Content = Lang.effect_config("effect_override_timer_type", lang); effect_override_timer_manual.Content = Lang.effect_config("effect_override_timer_manual", lang); effect_make_permanent.Content = Lang.effect_config("effect_make_permanent", lang); effectconf_effect_weight_mult_title.Content = Lang.effect_config("effectconf_effect_weight_mult_title", lang); effectconf_exclude_voting_enable_title.Content = Lang.effect_config("effectconf_exclude_voting_enable_title", lang); effectconf_mp3_label.Text = Lang.effect_config("effectconf_mp3_label", lang) + $"{effectInfo.Id}.mp3"; button_save.Content = Lang.effect_config("button_save", lang); Title = effectInfo.Name; m_isTimedEffect = effectInfo.IsTimed; if (m_isTimedEffect) { effectconf_timer_type_enable.IsChecked = effectData.TimedType != (effectInfo.IsShort ? EffectTimedType.TIMED_SHORT : EffectTimedType.TIMED_NORMAL); effectconf_timer_type.ItemsSource = new string[] { "Normal", "Short" }; effectconf_timer_type.SelectedIndex = effectData.TimedType == EffectTimedType.TIMED_SHORT ? 1 : 0; if (effectData.CustomTime >= 0) { effectconf_timer_time_enable.IsChecked = true; effectconf_timer_time.Text = $"{effectData.CustomTime}"; } } effectconf_timer_permanent_enable.IsChecked = effectData.Permanent; int[] weightItems = new int[10]; for (int i = 0; i < 10; i++) { weightItems[i] = i + 1; } effectconf_effect_weight_mult.ItemsSource = weightItems; effectconf_effect_weight_mult.SelectedIndex = effectData.WeightMult - 1; effectconf_exclude_voting_enable.IsChecked = effectData.ExcludedFromVoting; effectconf_effect_custom_name.Text = $"{(Title == effectData.CustomName ? "" : effectData.CustomName)}"; effectconf_mp3_label.Text += $"{effectInfo.Id}.mp3"; // Meta Effect Handling if (effectInfo.EffectCategory == EffectCategory.META) { effectconf_exclude_voting_enable_title.Visibility = Visibility.Hidden; effectconf_exclude_voting_enable.Visibility = Visibility.Hidden; effectconf_exclude_voting_enable.IsChecked = false; } CheckEnableConfigurables(); }
private void Init() { InitializeComponent(); if (!m_initializedTitle) { m_initializedTitle = true; Title += " (v" + Info.VERSION + ")"; } CheckForUpdates(); ParseConfigFile(); ParseTwitchFile(); InitEffectsTreeView(); ParseEffectsFile(); InitTwitchTab(); // Check write permissions try { if (!File.Exists(".writetest")) { using (File.Create(".writetest")) { } File.Delete(".writetest"); } } catch (UnauthorizedAccessException) { MessageBox.Show(Lang.get_error("no_write_permission_msg", CultureInfo.InstalledUICulture.ToString()), Lang.get_error("no_write_permission_title", CultureInfo.InstalledUICulture.ToString()), MessageBoxButton.OK, MessageBoxImage.Error); Application.Current.Shutdown(); } }
private void lang_list_SelectionChanged(object sender, SelectionChangedEventArgs e) { WriteEffectsFile(); cacheLang = lang_list.SelectedIndex; this.Title = Lang.app_labels("title", lang_list.SelectedIndex); InitEffectsTreeView(); user_reset.Content = Lang.app_labels("user_reset", lang_list.SelectedIndex); user_save.Content = Lang.app_labels("user_save", lang_list.SelectedIndex); lang_label.Content = Lang.app_labels("lang_label", lang_list.SelectedIndex); effects_tab.Header = Lang.app_labels("effects_tab", lang_list.SelectedIndex); meta_tab.Header = Lang.app_labels("meta_tab", lang_list.SelectedIndex); misc_tab.Header = Lang.app_labels("misc_tab", lang_list.SelectedIndex); twitch_tab.Header = Lang.app_labels("twitch_tab", lang_list.SelectedIndex); more_tab.Header = Lang.app_labels("more_tab", lang_list.SelectedIndex); meta_normal_label.Content = Lang.app_labels("meta_cooldown_label", lang_list.SelectedIndex); meta_duration_label.Content = Lang.app_labels("meta_duration_label", lang_list.SelectedIndex); meta_short_label.Content = Lang.app_labels("meta_short_label", lang_list.SelectedIndex); effect_timer.Content = Lang.app_labels("effect_timer", lang_list.SelectedIndex); effect_duration.Content = Lang.app_labels("effect_duration", lang_list.SelectedIndex); effect_duration_short.Content = Lang.app_labels("effect_duration_short", lang_list.SelectedIndex); effects_seed.Content = Lang.app_labels("effects_seed", lang_list.SelectedIndex); timebar_color.Content = Lang.app_labels("timebar_color", lang_list.SelectedIndex); effect_textcolor.Content = Lang.app_labels("effect_textcolor", lang_list.SelectedIndex); effect_timer_color.Content = Lang.app_labels("effect_timer_color", lang_list.SelectedIndex); timebar_draw.Content = Lang.app_labels("effect_duration_short", lang_list.SelectedIndex); effect_text_draw.Content = Lang.app_labels("timebar_draw", lang_list.SelectedIndex); clear_effects.Content = Lang.app_labels("clear_effects", lang_list.SelectedIndex); mod_toggle.Content = Lang.app_labels("mod_toggle", lang_list.SelectedIndex); effect_menu.Content = Lang.app_labels("effect_menu", lang_list.SelectedIndex); timebar_pause.Content = Lang.app_labels("timebar_pause", lang_list.SelectedIndex); twitch_info.Content = Lang.app_labels("twitch_info", lang_list.SelectedIndex); twitch_user_agreed.Content = Lang.app_labels("twitch_user_agreed", lang_list.SelectedIndex); twitch_user_channel_name_label.Content = Lang.app_labels("twitch_user_channel_name_label", lang_list.SelectedIndex); twitch_user_user_name_label.Content = Lang.app_labels("twitch_user_user_name_label", lang_list.SelectedIndex); twitch_user_channel_oauth_label.Content = Lang.app_labels("twitch_user_channel_oauth_label", lang_list.SelectedIndex); twitch_user_effects_secs_before_chat_voting_label.Content = Lang.app_labels("twitch_user_effects_secs_before_chat_voting_label", lang_list.SelectedIndex); twitch_user_overlay_mode_label.Content = Lang.app_labels("twitch_user_overlay_mode_label", lang_list.SelectedIndex); twitch_user_random_voteable_enable_label.Content = Lang.app_labels("twitch_user_random_voteable_enable_label", lang_list.SelectedIndex); proportional_vote.Content = Lang.app_labels("proportional_vote", lang_list.SelectedIndex); twitch_user_chance_system_enable_label.Content = Lang.app_labels("twitch_user_chance_system_enable_label", lang_list.SelectedIndex); twitch_user_chance_system_retain_chance_enable_label.Content = Lang.app_labels("twitch_user_chance_system_retain_chance_enable_label", lang_list.SelectedIndex); mod_page.Content = Lang.app_labels("mod_page", lang_list.SelectedIndex); donation.Content = Lang.app_labels("donation", lang_list.SelectedIndex); contribute.Content = Lang.app_labels("contribute", lang_list.SelectedIndex); discord.Content = Lang.app_labels("discord", lang_list.SelectedIndex); if (lang_list.SelectedIndex != 0) { translatedby.Visibility = Visibility.Visible; translatedby.Content = Lang.app_labels("translatedby", lang_list.SelectedIndex); } else { translatedby.Visibility = Visibility.Hidden; translatedby.Content = ""; } if (update == 0) { update_available_label.Content = Lang.app_labels("no_update_available_label", lang_list.SelectedIndex); } else if (update == 1) { update_available_label.Content = Lang.app_labels("update_available_label", lang_list.SelectedIndex); } else { update_available_label.Content = Lang.app_labels("update_error", lang_list.SelectedIndex); } ParseEffectsFile(); }
private void InitEffectsTreeView() { m_treeMenuItemsMap = new Dictionary <EffectType, TreeMenuItem>(); m_effectDataMap = new Dictionary <EffectType, EffectData>(); TreeMenuItem playerParentItem = new TreeMenuItem(Lang.app_tags(0, lang_list.SelectedIndex)); TreeMenuItem vehicleParentItem = new TreeMenuItem(Lang.app_tags(1, lang_list.SelectedIndex)); TreeMenuItem pedsParentItem = new TreeMenuItem(Lang.app_tags(2, lang_list.SelectedIndex)); TreeMenuItem timeParentItem = new TreeMenuItem(Lang.app_tags(3, lang_list.SelectedIndex)); TreeMenuItem weatherParentItem = new TreeMenuItem(Lang.app_tags(4, lang_list.SelectedIndex)); TreeMenuItem miscParentItem = new TreeMenuItem(Lang.app_tags(5, lang_list.SelectedIndex)); TreeMenuItem metaParentItem = new TreeMenuItem(Lang.app_tags(6, lang_list.SelectedIndex)); SortedDictionary <string, Tuple <EffectType, EffectCategory> > sortedEffects = new SortedDictionary <string, Tuple <EffectType, EffectCategory> >(); for (EffectType effectType = 0; effectType < EffectType._EFFECT_ENUM_MAX; effectType++) { EffectInfo effectInfo = EffectsMap[effectType]; sortedEffects.Add(Lang.app_effects(effectInfo.Id.ToString(), lang_list.SelectedIndex), new Tuple <EffectType, EffectCategory>(effectType, effectInfo.EffectCategory)); } foreach (var effect in sortedEffects) { Tuple <EffectType, EffectCategory> effectTuple = effect.Value; TreeMenuItem menuItem = new TreeMenuItem(effect.Key); m_treeMenuItemsMap.Add(effectTuple.Item1, menuItem); switch (effectTuple.Item2) { case EffectCategory.PLAYER: playerParentItem.AddChild(menuItem); break; case EffectCategory.VEHICLE: vehicleParentItem.AddChild(menuItem); break; case EffectCategory.PEDS: pedsParentItem.AddChild(menuItem); break; case EffectCategory.TIME: timeParentItem.AddChild(menuItem); break; case EffectCategory.WEATHER: weatherParentItem.AddChild(menuItem); break; case EffectCategory.MISC: miscParentItem.AddChild(menuItem); break; case EffectCategory.META: metaParentItem.AddChild(menuItem); break; } } effects_user_effects_tree_view.Items.Clear(); effects_user_effects_tree_view.Items.Add(playerParentItem); effects_user_effects_tree_view.Items.Add(vehicleParentItem); effects_user_effects_tree_view.Items.Add(pedsParentItem); effects_user_effects_tree_view.Items.Add(timeParentItem); effects_user_effects_tree_view.Items.Add(weatherParentItem); effects_user_effects_tree_view.Items.Add(miscParentItem); meta_effects_tree_view.Items.Clear(); meta_effects_tree_view.Items.Add(metaParentItem); }