Multiple GameWidget can share a game; RiverpodAwareGameWidget can't
Problem to solve
When using GameWidget, you can make multiple GameWidgets with multiple cameras, sharing the same game:
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Expanded(
child: GameWidget(
game: this,
camera: camera1, // First camera view
),
),
Expanded(
child: GameWidget(
game: this,
camera: camera2, // Second camera view
),
),
],
),
);
}
RiverpodAwareGameWidget, which has to be initialized with a GlobalKey, cannot do this. It's a single, unique game per widget.
Proposal
Add the ability to decouple the game from a specific GlobalKey, so it can be shared across an app.
More information
No response
Other
- [ ] Are you interested in working on a PR for this?
We should indeed support this, but you might not need two GameWidget for your use-case, you can have multiple cameras in one game.
Related: I tried to get around it with a Hero widget, but because the key is required, it throws errors.
In my opinion, the global key is too tightly coupled, it gets in the way of these edge cases. Not sure uncoupling is viable though.