Über das Settings Menü kann nun unter dem Reiter "Controls" verschiedenen Input Actions eine neue Belegung zugewiesen werden.
Hierzu kann ein Button angeklickt werden, dessen Beschriftung die momentane Belegung anzeigt und während einer Neuzuweisung temporär "..." anzeigt um dem Spieler Feedback zu geben dass eine neue Belegung erwartet wird.
Der Vorgang kann mit der rechten Maustaste abgebrochen werden.
Gespeichert werden die Belegungen mit Hilfe einer Extensionmethode die für eine Action sämtliche Bindings als JSON formatiert speichert. Dies ist jedoch nicht unbedingt gut leserlich für Menschen in der config.json, da hier dann eher anhand einer ID unterschieden wird. Sollte ich dies noch ändern, für eventuelle Debug Zwecke o.Ä.?
Um UI etwas mehr von der Logik zu trennen, und um die eigentliche Rebind Funktion nicht auch in den InputReader zu packen, habe ich einen "InputManager" als SO erstellt. Sollte man hier vllt doch einfach eine statische Klasse daraus machen?
Über das Settings Menü kann nun unter dem Reiter "Controls" verschiedenen Input Actions eine neue Belegung zugewiesen werden. Hierzu kann ein Button angeklickt werden, dessen Beschriftung die momentane Belegung anzeigt und während einer Neuzuweisung temporär "..." anzeigt um dem Spieler Feedback zu geben dass eine neue Belegung erwartet wird. Der Vorgang kann mit der rechten Maustaste abgebrochen werden.
Gespeichert werden die Belegungen mit Hilfe einer Extensionmethode die für eine Action sämtliche Bindings als JSON formatiert speichert. Dies ist jedoch nicht unbedingt gut leserlich für Menschen in der config.json, da hier dann eher anhand einer ID unterschieden wird. Sollte ich dies noch ändern, für eventuelle Debug Zwecke o.Ä.? Um UI etwas mehr von der Logik zu trennen, und um die eigentliche Rebind Funktion nicht auch in den InputReader zu packen, habe ich einen "InputManager" als SO erstellt. Sollte man hier vllt doch einfach eine statische Klasse daraus machen?
closes #438