using CommonHelpers; namespace PowerControl.Options { public static class PerformanceOverlay { public static Menu.MenuItemWithOptions EnabledInstance = new Menu.MenuItemWithOptions() { Name = "OSD", PersistentKey = "PerformanceOverlay", ApplyDelay = 500, OptionsValues = delegate () { return Enum.GetNames(); }, CurrentValue = delegate () { if (SharedData.GetExistingValue(out var value)) return value.CurrentEnabled.ToString(); return null; }, ApplyValue = (selected) => { if (!SharedData.GetExistingValue(out var value)) return null; value.DesiredEnabled = Enum.Parse(selected); if (!SharedData.SetExistingValue(value)) return null; return selected; } }; public static Menu.MenuItemWithOptions ModeInstance = new Menu.MenuItemWithOptions() { Name = "OSD Mode", PersistentKey = "PerformanceOverlayMode", ApplyDelay = 500, OptionsValues = delegate () { return Enum.GetNames(); }, CurrentValue = delegate () { if (SharedData.GetExistingValue(out var value)) return value.Current.ToString(); return null; }, ApplyValue = (selected) => { if (!SharedData.GetExistingValue(out var value)) return null; value.Desired = Enum.Parse(selected); if (!SharedData.SetExistingValue(value)) return null; return selected; } }; public static Menu.MenuItemWithOptions KernelDriversInstance = new Menu.MenuItemWithOptions() { Name = "OSD Kernel Drivers", ApplyDelay = 500, OptionsValues = delegate () { return Enum.GetNames(); }, CurrentValue = delegate () { if (SharedData.GetExistingValue(out var value)) return value.KernelDriversLoaded.ToString(); return null; }, ApplyValue = (selected) => { if (!SharedData.GetExistingValue(out var value)) return null; value.DesiredKernelDriversLoaded = Enum.Parse(selected); if (!SharedData.SetExistingValue(value)) return null; return selected; } }; } }