Rebinding class final

Moving a control to somewhere the player can reach.

The accommodation that matters most and was missing entirely. The bindings have always been a table, they have always been saved, and there has never been a way for a player to change one — so a player who cannot reach Ctrl, or who plays one-handed, or whose controller has a dead button, had no game. Everything needed was already there; nothing asked for it.

Its own class, and not four lines inside main.dart, for one reason: the rules below are the part that can be wrong, and main.dart is imported by no test. Here they are ordinary Dart and the file that feeds it events stays event plumbing.

Constructors

Rebinding({required Bindings bindings})

Properties

bindings → Bindings
The table being edited. The same one the keyboard and the pad read, so a change takes effect on the next key press rather than on the next launch.
final
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
waitingFor → GameAction?
What is listening for its new control, if anything.
no setter

Methods

cancel() → void
capture(InputSource source) → bool
Points the waiting action at source, and stops waiting.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reset(Bindings defaults) → void
Puts the table back the way it shipped.
start(GameAction action) → void
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited