Table of Contents

Interface ISystemThemeService

Namespace
BSGameLib.Game
Assembly
BSGameLib.Game.dll

What colour scheme the desktop is set to, and a notification when the user changes it while the game is running.

public interface ISystemThemeService

Remarks

Reporting only: nothing in the engine acts on this. A game decides for itself whether to follow the desktop, and one that is deliberately dark-first can ignore the service entirely (Odyssey does - see its client-light-theme plan). Pair it with IThemeManager.SetVariant and IViewManager.ReloadActiveView to actually re-skin on a change.

Properties

Current

The desktop's current colour scheme, or Unknown where the platform does not report one.

SystemTheme Current { get; }

Property Value

SystemTheme

Events

Changed

Raised when the desktop's scheme changes, on the thread that pumps events - the game loop's. Only raised when the value actually differs from the last one reported.

event EventHandler<SystemThemeChangedEventArgs> Changed

Event Type

EventHandler<SystemThemeChangedEventArgs>