ListenerGameWidget<T extends Game> constructor
ListenerGameWidget<T extends Game> ({
- Key? key,
- required T game,
- TextDirection? textDirection,
- GameLoadingWidgetBuilder? loadingBuilder,
- GameErrorWidgetBuilder? errorBuilder,
- WidgetBuilder? backgroundBuilder,
- Map<
String, OverlayWidgetBuilder< ? overlayBuilderMap,T> > - List<
String> ? initialActiveOverlays, - FocusNode? focusNode,
- bool autofocus = true,
- MouseCursor? mouseCursor,
- bool addRepaintBoundary = true,
Renders a game in a flutter widget tree.
Ex:
// Inside a State...
late MyGameClass game;
@override
void initState() {
super.initState();
game = MyGameClass();
}
...
Widget build(BuildContext context) {
return GameWidget(
game: game,
)
}
...
It is also possible to render layers of widgets over the game surface with widget subtrees.
To do that a overlayBuilderMap should be provided. The visibility of
these overlays are controlled by Game.overlays
property
Ex:
...
final game = MyGame();
Widget build(BuildContext context) {
return GameWidget(
game: game,
overlayBuilderMap: {
'PauseMenu': (ctx, game) {
return Text('A pause menu');
},
},
)
}
...
game.overlays.add('PauseMenu');
Implementation
ListenerGameWidget({
Key? key,
required T this.game,
this.textDirection,
this.loadingBuilder,
this.errorBuilder,
this.backgroundBuilder,
this.overlayBuilderMap,
this.initialActiveOverlays,
this.focusNode,
this.autofocus = true,
this.mouseCursor,
this.addRepaintBoundary = true,
}) : gameFactory = null,
super(key: key) {
_initializeGame(game!);
}