Implemented by types that contain game state and provide logic for updating it and drawing it to the screen.
The methods on
State allow you to return a
Result, either explicitly or via the
operator. If an error is returned, the game will close and the error will be returned from
Context::run call that was used to start it. This allows you to propagate errors
main for reporting/logging.
The error type defaults to
TetraError, but this can be overridden by adding a type parameter
State implementation (e.g.
Called when it is time for the game to update.
Called when it is time for the game to be drawn.
Called when a window or input event occurs.