public SettingsViewModel(IExperienceControl[] experienceControls)
        {
            if (experienceControls == null)
            {
                throw new ArgumentNullException(nameof(experienceControls));
            }

            InitializeExperienceControlMenuItems(experienceControls);
            InitializeThemeMenuItems();
            //InitializeClassRankMenuItems();
            //InitializeClassLevelMenuItems();
        }
Beispiel #2
0
        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;
        }