Show / Hide Table of Contents

# Einstellungen

Um sich das Leben zum entwickeln einfacher zu machen, lassen sich einige Parameter der Anwendung konfigurieren. Als Konfiguration dient die `App.config` bzw. `Sokoban.exe.config`.

Der sichere Zugriff auf die Konfigurationsdatei erfolgt in der AppSettings Klasse. Schlüssel lassen sich typenunabhängig mittels Get auslesen. Zum überprüfen, ob ein Schlüssel überhaupt exitiert dient Has.

Aus Anwendungsseite wird darauf nur durch die Global Klasse zugegriffen. Somit ist es möglich beim fehlen von Einträgen sinnvole standard Werte zurückzuliefern.

- `DebugMode` - Boolean - Default: `false`

  - Erhöht z.B. die Anzahl der Log-Nachrichten, die auf der Debug Console ausgegeben werden, und färbt Elemente in der View ein.
  - IsDebug()

- `DataDir` - Pfad (String) - Default: `data`

  - Order für Daten, die in der Anwendung genutzt werden.
  - DataDir() (private, intern)

- `LevelSet` - Pfad (String) - Default: `levels.xml`

  - Dateiname der XML-Datei mit den Levels
  - PathLevelSet()

- `UserLoft` - Pfad (String) - Default: `save.json`

  - Dateiname der JSON-Datei mit den Spielständen
  - PathUserLoft()

- `LevelSwitchDelay` - Millisekunden (Integer) - Default: `750`

  - Pause, die beim Wechsel zwischen zwei Level gewartet wird.
  - DelayLevelSwitch()

- `Top10EndpointUrl` - URL (String) - Default: `http://localhost`

  - URL zur Webanwendung die die Punktestände für alle Spieler speichert.
  - Top10Url()

- `Top10AdminKey` - String - Default: `""`

  - Wird für die Webanwendung benötigt, um valide Datensätze zu erzeugen.
  - Top10Key()

Die Anwendung ist lauffähig mit einer komplett leeren Konfiguration. Damit aber die OnlineTop10 funktioniert sollte zumindest eine EndpointUrl und ein AdminKey hinterlegt sein.