/// <summary> /// Initialization extension for IDeckAdvisorProgram. /// </summary> /// <param name="app">The program.</param> public static void InitializeProgram(this IDeckAdvisorProgram program) { program.Logger.Debug("InitializeProgram() Called - {0}", program.ApplicationName); program.SetCulture(); // these have to happen after SetCulture() program.FormatMappings = new Dictionary <string, Tuple <string, string> >() { { program.GetLocalizedString("Item_Standard"), new Tuple <string, string>("standard", "Standard") }, { program.GetLocalizedString("Item_ArenaStandard"), new Tuple <string, string>("arena_standard", "ArenaStandard") }, { program.GetLocalizedString("Item_Brawl"), new Tuple <string, string>("brawl", "Brawl") }, { program.GetLocalizedString("Item_Historic_Bo3"), new Tuple <string, string>("historic_bo3", "Historic") }, { program.GetLocalizedString("Item_Historic_Bo1"), new Tuple <string, string>("historic_bo1", "Historic") } }; program.SendUsageStats(); }
/// <summary> /// Initialize various state variables. /// </summary> /// <param name="app">The program.</param> public static void InitializeState(this IDeckAdvisorProgram program) { program.Logger.Debug("InitializeState() Called - {0}", program.ApplicationName); bool saveState = false; program.Format.Value = program.CurrentApp.State.LastFormat; if (string.IsNullOrWhiteSpace(program.Format.Value) || !program.FormatMappings.ContainsKey(program.Format.Value)) { program.Format.Value = program.GetLocalizedString("Item_Standard"); program.CurrentApp.State.LastFormat = program.Format.Value; saveState = true; } program.Sort.Value = program.CurrentApp.State.LastSort; List <string> sortStrings = new List <string>() { program.GetLocalizedString("Item_Default"), program.GetLocalizedString("Item_BoosterCost"), program.GetLocalizedString("Item_BoosterCostIgnoringWildcards"), program.GetLocalizedString("Item_BoosterCostIgnoringCollection"), program.GetLocalizedString("Item_DeckScore"), program.GetLocalizedString("Item_WinRate"), program.GetLocalizedString("Item_MythicRareCount"), program.GetLocalizedString("Item_RareCount"), program.GetLocalizedString("Item_UncommonCount"), program.GetLocalizedString("Item_CommonCount") }; if (string.IsNullOrWhiteSpace(program.Sort.Value) || !sortStrings.Contains(program.Sort.Value)) { program.Sort.Value = program.GetLocalizedString("Item_Default"); program.CurrentApp.State.LastSort = program.Sort.Value; saveState = true; } program.SortDir.Value = program.CurrentApp.State.LastSortDir; List <string> sortDirStrings = new List <string>() { program.GetLocalizedString("Item_Default"), program.GetLocalizedString("Item_Ascending"), program.GetLocalizedString("Item_Descending") }; if (string.IsNullOrWhiteSpace(program.SortDir.Value) || !sortDirStrings.Contains(program.SortDir.Value)) { program.SortDir.Value = program.GetLocalizedString("Item_Default"); program.CurrentApp.State.LastSortDir = program.SortDir.Value; saveState = true; } program.RotationProof.Value = program.CurrentApp.State.RotationProof; program.CardText.Value = program.CurrentApp.State.CardTextFilter; int fontSize = program.CurrentApp.State.FontSize; if (fontSize < 8 || fontSize > 24) { program.SelectedFontSize.Value = 12; program.CurrentApp.State.FontSize = program.SelectedFontSize.Value; saveState = true; } else { program.SelectedFontSize.Value = fontSize; } if (saveState) { program.CurrentApp.SaveState(); } }