public SettingsViewModel(IExperienceControl[] experienceControls) { if (experienceControls == null) { throw new ArgumentNullException(nameof(experienceControls)); } InitializeExperienceControlMenuItems(experienceControls); InitializeThemeMenuItems(); //InitializeClassRankMenuItems(); //InitializeClassLevelMenuItems(); }
private IExperienceControl[] GetExperienceControls(ExperienceData baseExperienceData, ExperienceData classExperienceData) { IExperienceControl[] experienceControls = new IExperienceControl[] { new ExperienceControl <ExperienceData>( settings => settings.HideCurrentBaseExperience, baseExperienceData, baseData => baseData.CurrentExperience, baseData => baseData.CurrentExperience.ToString("N0"), classExperienceData) { DisplayName = "Current Exp", HideComponentText = "Hide Current Experience" }, new ExperienceControl <ExperienceData>( settings => settings.HideRequiredBaseExperience, baseExperienceData, baseData => baseData.RequiredExperience, baseData => baseData.RequiredExperience.ToString("N0"), classExperienceData) { DisplayName = "Required Exp", HideComponentText = "Hide Required Exp" }, new ExperienceControl <ExperienceData>( settings => settings.HideCurrentBaseExperencePercent, baseExperienceData, baseData => baseData.CurrentExperiencePercent, baseData => baseData.CurrentExperiencePercent.ToString("N4"), classExperienceData) { DisplayName = "Current Exp %", HideComponentText = "Hide Current Experience %" }, new ExperienceControl <ExperienceData>( settings => settings.HideLastExperienceGain, baseExperienceData, baseData => baseData.LastExperienceGain, baseData => baseData.LastExperienceGain.ToString("N0"), classExperienceData) { DisplayName = "Last Exp", HideComponentText = "Hide Last Exp Gain" }, new ExperienceControl <ExperienceData>( settings => settings.HideLastExperienceGainPercent, baseExperienceData, baseData => baseData.LastExperienceGainPercent, baseData => baseData.LastExperienceGainPercent.ToString("N4"), classExperienceData) { DisplayName = "Last Exp %", HideComponentText = "Hide Last Exp Gain %" }, new ExperienceControl <ExperienceData>( settings => settings.HideKillsTilNextLevel, baseExperienceData, baseData => baseData.KillsTilNextLevel, baseData => baseData.KillsTilNextLevel.ToString("N0"), classExperienceData) { DisplayName = "Kills TNL", HideComponentText = "Hide Kills TNL" }, new ExperienceControl <ExperienceData>( settings => settings.HideExperiencePerHour, baseExperienceData, baseData => baseData.ExperiencePerHour, baseData => baseData.ExperiencePerHour.ToString("N0"), classExperienceData) { DisplayName = "Exp/Hr", HideComponentText = "Hide Exp/Hr" }, new ExperienceControl <ExperienceData>( settings => settings.HideTimeToLevel, baseExperienceData, baseData => baseData.TimeToLevel, baseData => baseData.TimeToLevel, classExperienceData) { DisplayName = "Time TNL", HideComponentText = "Hide Time TNL", }, new ExperienceControl <ExperienceData>( settings => settings.HideSessionTime, baseExperienceData, data => data.ElapsedTime, data => data.ElapsedTime.ToShortDisplayFormat()) { DisplayName = "Session", HideComponentText = "Hide Session Time", CanShowClassValue = false }, }; foreach (var experienceControl in experienceControls) { experienceControl.ShowClassValue = Settings.Default.ShowClassExperienceRow; } return(experienceControls); }
private IExperienceControl[] GetExperienceControls(ExperienceData baseExperienceData, ExperienceData classExperienceData) { IExperienceControl[] experienceControls = new IExperienceControl[] { new ExperienceControl<ExperienceData>( settings => settings.HideCurrentBaseExperience, baseExperienceData, baseData => baseData.CurrentExperience, baseData => baseData.CurrentExperience.ToString("N0"), classExperienceData) { DisplayName = "Current Exp", HideComponentText = "Hide Current Experience" }, new ExperienceControl<ExperienceData>( settings => settings.HideRequiredBaseExperience, baseExperienceData, baseData => baseData.RequiredExperience, baseData => baseData.RequiredExperience.ToString("N0"), classExperienceData) { DisplayName = "Required Exp", HideComponentText = "Hide Required Exp" }, new ExperienceControl<ExperienceData>( settings => settings.HideCurrentBaseExperencePercent, baseExperienceData, baseData => baseData.CurrentExperiencePercent, baseData => baseData.CurrentExperiencePercent.ToString("N4"), classExperienceData) { DisplayName = "Current Exp %", HideComponentText = "Hide Current Experience %" }, new ExperienceControl<ExperienceData>( settings => settings.HideLastExperienceGain, baseExperienceData, baseData => baseData.LastExperienceGain, baseData => baseData.LastExperienceGain.ToString("N0"), classExperienceData) { DisplayName = "Last Exp", HideComponentText = "Hide Last Exp Gain" }, new ExperienceControl<ExperienceData>( settings => settings.HideLastExperienceGainPercent, baseExperienceData, baseData => baseData.LastExperienceGainPercent, baseData => baseData.LastExperienceGainPercent.ToString("N4"), classExperienceData) { DisplayName = "Last Exp %", HideComponentText = "Hide Last Exp Gain %" }, new ExperienceControl<ExperienceData>( settings => settings.HideKillsTilNextLevel, baseExperienceData, baseData => baseData.KillsTilNextLevel, baseData => baseData.KillsTilNextLevel.ToString("N0"), classExperienceData) { DisplayName = "Kills TNL", HideComponentText = "Hide Kills TNL" }, new ExperienceControl<ExperienceData>( settings => settings.HideExperiencePerHour, baseExperienceData, baseData => baseData.ExperiencePerHour, baseData => baseData.ExperiencePerHour.ToString("N0"), classExperienceData) { DisplayName = "Exp/Hr", HideComponentText = "Hide Exp/Hr" }, new ExperienceControl<ExperienceData>( settings => settings.HideTimeToLevel, baseExperienceData, baseData => baseData.TimeToLevel, baseData => baseData.TimeToLevel, classExperienceData) { DisplayName = "Time TNL", HideComponentText = "Hide Time TNL", }, new ExperienceControl<ExperienceData>( settings => settings.HideSessionTime, baseExperienceData, data => data.ElapsedTime, data => data.ElapsedTime.ToShortDisplayFormat()) { DisplayName = "Session", HideComponentText = "Hide Session Time", CanShowClassValue = false }, }; foreach (var experienceControl in experienceControls) { experienceControl.ShowClassValue = Settings.Default.ShowClassExperienceRow; } return experienceControls; }