Show / Hide Table of Contents

# Namespace Sokoban.Control

Als zentraler Namespace wird hier zwischen Model und View vermittelt, weiterhin findet sich hier die Logik des Spiels.

### Classes

#### GameFlow

Eigentliche Logik des Spiels

#### GameState

Objekt um den momentanen Bearbeitungsstand des Levels zwischen Control und View auszutauschen

#### Level

Repräsentiert ein Level im Spiel

### Structs

#### Provider

Zentraler Dreh- und Angelpunkt der Anwendung.

Alle Instanzen der Klassen im Provider sollten Anwendungsweit immer nur einmal existieren.

Deshalb werden diese hier erzeugt, und über Properties der Zugriff auf die Referenz davon ermöglicht.

### Enums

#### ItemType

Stellt die einzelnen Elemente, aus dem ein Level besteht, dar.

Wird in der Logik genuzt, um Spielzüge ermitteln zu können.

In der View werden mithilfe der ImageConfig den Elementen Bilder zugeordnet zum zeichnen.

#### Move

Beschreibt die vier Richtungen, in die die Spielfigur laufen kann.