diff --git a/doc/bridge_packages/flame_spine/flame_spine.md b/doc/bridge_packages/flame_spine/flame_spine.md index e464799e83f..58943a6c8c1 100644 --- a/doc/bridge_packages/flame_spine/flame_spine.md +++ b/doc/bridge_packages/flame_spine/flame_spine.md @@ -18,7 +18,7 @@ Example: void main() async { WidgetsFlutterBinding.ensureInitialized(); await initSpineFlutter(); - runApp(const GameWidget.controlled(gameFactory: SpineExample.new)); + runApp(const GameWidget.managed(gameFactory: SpineExample.new)); } class FlameSpineExample extends FlameGame { diff --git a/doc/flame/game.md b/doc/flame/game.md index 79ee8d83c01..9a3de14ace2 100644 --- a/doc/flame/game.md +++ b/doc/flame/game.md @@ -84,7 +84,7 @@ will be thrown. If you instantiate your game in a build method your game will be rebuilt every time the Flutter tree gets rebuilt, which usually is more often than you'd like. To avoid this, you can either create an instance of your game first and -reference it within your widget structure or use the `GameWidget.controlled` +reference it within your widget structure or use the `GameWidget.managed` constructor. ``` diff --git a/doc/tutorials/platformer/app/lib/main.dart b/doc/tutorials/platformer/app/lib/main.dart index b15e125507a..3d832eb5d69 100644 --- a/doc/tutorials/platformer/app/lib/main.dart +++ b/doc/tutorials/platformer/app/lib/main.dart @@ -7,7 +7,7 @@ import 'overlays/main_menu.dart'; void main() { runApp( - GameWidget.controlled( + GameWidget.managed( gameFactory: EmberQuestGame.new, overlayBuilderMap: { 'MainMenu': (_, game) => MainMenu(game: game), diff --git a/doc/tutorials/platformer/step_2.md b/doc/tutorials/platformer/step_2.md index 14a57d62d20..df3b788711d 100644 --- a/doc/tutorials/platformer/step_2.md +++ b/doc/tutorials/platformer/step_2.md @@ -79,7 +79,7 @@ import 'ember_quest.dart'; void main() { runApp( - const GameWidget.controlled( + const GameWidget.managed( gameFactory: EmberQuestGame.new, ), ); diff --git a/doc/tutorials/platformer/step_7.md b/doc/tutorials/platformer/step_7.md index 05299395bb0..b845a789f3f 100644 --- a/doc/tutorials/platformer/step_7.md +++ b/doc/tutorials/platformer/step_7.md @@ -228,7 +228,7 @@ To display the menus, add the following code to `lib/main.dart`: ```dart void main() { runApp( - GameWidget.controlled( + GameWidget.managed( gameFactory: EmberQuestGame.new, overlayBuilderMap: { 'MainMenu': (_, game) => MainMenu(game: game), diff --git a/examples/lib/stories/camera_and_viewport/camera_and_viewport.dart b/examples/lib/stories/camera_and_viewport/camera_and_viewport.dart index 378777aec5f..b952f5624ff 100644 --- a/examples/lib/stories/camera_and_viewport/camera_and_viewport.dart +++ b/examples/lib/stories/camera_and_viewport/camera_and_viewport.dart @@ -40,7 +40,7 @@ void addCameraAndViewportStories(Dashbook dashbook) { ..add( 'Fixed Resolution viewport', (context) { - return const GameWidget.controlled( + return const GameWidget.managed( gameFactory: FixedResolutionExample.new, ); }, diff --git a/examples/lib/stories/components/components.dart b/examples/lib/stories/components/components.dart index 8e1c183648b..18c9e58d229 100644 --- a/examples/lib/stories/components/components.dart +++ b/examples/lib/stories/components/components.dart @@ -45,7 +45,7 @@ void addComponentsStories(Dashbook dashbook) { ) ..add( 'Component Pool', - (_) => const GameWidget.controlled( + (_) => const GameWidget.managed( gameFactory: ComponentPoolExample.new, ), codeLink: baseLink('components/component_pool_example.dart'), @@ -79,7 +79,7 @@ void addComponentsStories(Dashbook dashbook) { ) ..add( 'Spawn Component', - (_) => const GameWidget.controlled( + (_) => const GameWidget.managed( gameFactory: SpawnComponentExample.new, ), codeLink: baseLink('components/spawn_component_example.dart'), @@ -87,7 +87,7 @@ void addComponentsStories(Dashbook dashbook) { ) ..add( 'Time Scale', - (_) => const GameWidget.controlled( + (_) => const GameWidget.managed( gameFactory: TimeScaleExample.new, ), codeLink: baseLink('components/time_scale_example.dart'), diff --git a/packages/flame/lib/src/game/game_widget/game_widget.dart b/packages/flame/lib/src/game/game_widget/game_widget.dart index a94b97715a8..7c9233070aa 100644 --- a/packages/flame/lib/src/game/game_widget/game_widget.dart +++ b/packages/flame/lib/src/game/game_widget/game_widget.dart @@ -76,14 +76,14 @@ class GameWidget extends StatefulWidget { /// Widget build(BuildContext context) { /// return Container( /// padding: EdgeInsets.all(20), - /// child: GameWidget.controlled( + /// child: GameWidget.managed( /// gameFactory: MyGame.new, /// ), /// ); /// } /// } /// ``` - const GameWidget.controlled({ + const GameWidget.managed({ required GameFactory this.gameFactory, this.textDirection, this.loadingBuilder, @@ -100,7 +100,7 @@ class GameWidget extends StatefulWidget { }) : game = null; /// The game instance which this widget will render, if it was provided with - /// the default constructor. Otherwise, if the [GameWidget.controlled] + /// the default constructor. Otherwise, if the [GameWidget.managed] /// constructor was used, this will always be `null`. final T? game; diff --git a/packages/flame/test/game/game_widget/game_widget_keyboard_test.dart b/packages/flame/test/game/game_widget/game_widget_keyboard_test.dart index cf48c4be300..b799c19e556 100644 --- a/packages/flame/test/game/game_widget/game_widget_keyboard_test.dart +++ b/packages/flame/test/game/game_widget/game_widget_keyboard_test.dart @@ -141,7 +141,7 @@ void main() { ); }); - group('GameWidget.controlled', () { + group('GameWidget.managed', () { testWidgets('adds focus', (tester) async { final focusNode = FocusNode(); @@ -149,7 +149,7 @@ void main() { await tester.pumpWidget( _GamePage( - child: GameWidget.controlled( + child: GameWidget.managed( gameFactory: () => game, focusNode: focusNode, ), @@ -164,7 +164,7 @@ void main() { await tester.pumpWidget( _GamePage( - child: GameWidget.controlled( + child: GameWidget.managed( gameFactory: () => game, ), ), @@ -184,7 +184,7 @@ void main() { await tester.pumpWidget( _GamePage( - child: GameWidget.controlled( + child: GameWidget.managed( gameFactory: () => game, ), ), diff --git a/packages/flame/test/game/game_widget/game_widget_controlled_lifecycle_test.dart b/packages/flame/test/game/game_widget/game_widget_managed_lifecycle_test.dart similarity index 99% rename from packages/flame/test/game/game_widget/game_widget_controlled_lifecycle_test.dart rename to packages/flame/test/game/game_widget/game_widget_managed_lifecycle_test.dart index b8c72f2fab1..997ebf282af 100644 --- a/packages/flame/test/game/game_widget/game_widget_controlled_lifecycle_test.dart +++ b/packages/flame/test/game/game_widget/game_widget_managed_lifecycle_test.dart @@ -57,7 +57,7 @@ class _GamePage extends StatelessWidget { body: Stack( children: [ Positioned.fill( - child: GameWidget.controlled( + child: GameWidget.managed( gameFactory: () => _MyGame(events), ), ), diff --git a/packages/flame/test/game/game_widget/game_widget_test.dart b/packages/flame/test/game/game_widget/game_widget_test.dart index ce360b1d344..e6a5fb332d9 100644 --- a/packages/flame/test/game/game_widget/game_widget_test.dart +++ b/packages/flame/test/game/game_widget/game_widget_test.dart @@ -129,7 +129,7 @@ void main() { ); group('Subscription is valid after game change', () { - testWidgets('Uncontrolled to uncontrolled', (tester) async { + testWidgets('Unmanaged to unmanaged', (tester) async { const key = Key('flame-game'); final game1 = FlameGame(); await tester.pumpWidget(GameWidget(key: key, game: game1)); @@ -147,7 +147,7 @@ void main() { expect(game1.gameStateListeners.length, 0); }); - testWidgets('Uncontrolled to controlled', (tester) async { + testWidgets('Unmanaged to managed', (tester) async { const key = Key('flame-game'); final game1 = FlameGame(); await tester.pumpWidget(GameWidget(key: key, game: game1)); @@ -156,7 +156,7 @@ void main() { late final FlameGame game2; await tester.pumpWidget( - GameWidget.controlled( + GameWidget.managed( key: key, gameFactory: () => game2 = FlameGame(), ), @@ -176,12 +176,12 @@ void main() { expect(game2.isMounted, true); }); - testWidgets('Controlled to uncontrolled', (tester) async { + testWidgets('Managed to unmanaged', (tester) async { const key = Key('flame-game'); late final FlameGame game1; await tester.pumpWidget( - GameWidget.controlled( + GameWidget.managed( key: key, gameFactory: () => game1 = FlameGame(), ), @@ -207,12 +207,12 @@ void main() { expect(game2.isMounted, true); }); - testWidgets('Controlled to controlled', (tester) async { + testWidgets('Managed to managed', (tester) async { const key = Key('flame-game'); late FlameGame game1; await tester.pumpWidget( - GameWidget.controlled( + GameWidget.managed( key: key, gameFactory: () => game1 = FlameGame(), ), @@ -223,7 +223,7 @@ void main() { FlameGame? game2; await tester.pumpWidget( - GameWidget.controlled( + GameWidget.managed( key: key, gameFactory: () => game2 = FlameGame(), ), diff --git a/packages/flame_3d/example/lib/main.dart b/packages/flame_3d/example/lib/main.dart index 9ce7e5671c3..3f4c7b411a1 100644 --- a/packages/flame_3d/example/lib/main.dart +++ b/packages/flame_3d/example/lib/main.dart @@ -10,7 +10,7 @@ Future main() async { await GpuBackend.initialize(); // Optional but some backends might require it. runApp( - GameWidget.controlled( + GameWidget.managed( gameFactory: ExampleGame3D.new, overlayBuilderMap: { 'console': (BuildContext context, ExampleGame3D game) { diff --git a/packages/flame_behavior_tree/example/lib/main.dart b/packages/flame_behavior_tree/example/lib/main.dart index d6838f67b82..c03310606f2 100644 --- a/packages/flame_behavior_tree/example/lib/main.dart +++ b/packages/flame_behavior_tree/example/lib/main.dart @@ -25,7 +25,7 @@ class MainApp extends StatelessWidget { Widget build(BuildContext context) { return MaterialApp( home: Scaffold( - body: GameWidget.controlled( + body: GameWidget.managed( gameFactory: () => MyGame( world: GameWorld(), camera: CameraComponent.withFixedResolution( diff --git a/packages/flame_forge2d/example/lib/main.dart b/packages/flame_forge2d/example/lib/main.dart index 2c7aa8b03f8..0b7968e9022 100644 --- a/packages/flame_forge2d/example/lib/main.dart +++ b/packages/flame_forge2d/example/lib/main.dart @@ -6,7 +6,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/widgets.dart'; void main() { - runApp(const GameWidget.controlled(gameFactory: Forge2DExample.new)); + runApp(const GameWidget.managed(gameFactory: Forge2DExample.new)); } class Forge2DExample extends Forge2DGame { diff --git a/packages/flame_kenney_xml/example/lib/main.dart b/packages/flame_kenney_xml/example/lib/main.dart index 94371391b07..debc6d18833 100644 --- a/packages/flame_kenney_xml/example/lib/main.dart +++ b/packages/flame_kenney_xml/example/lib/main.dart @@ -11,7 +11,7 @@ import 'package:flutter/material.dart'; /// sprite sheet to the screen when tapped. void main() { runApp( - GameWidget.controlled( + GameWidget.managed( gameFactory: () => FlameGame(world: KenneyWorld()), ), ); diff --git a/packages/flame_network_assets/example/lib/main.dart b/packages/flame_network_assets/example/lib/main.dart index 50d7e043025..2373dfd22f2 100644 --- a/packages/flame_network_assets/example/lib/main.dart +++ b/packages/flame_network_assets/example/lib/main.dart @@ -8,7 +8,7 @@ import 'package:flame_network_assets/flame_network_assets.dart'; import 'package:flutter/material.dart' hide Image; void main() { - runApp(const GameWidget.controlled(gameFactory: MyGame.new)); + runApp(const GameWidget.managed(gameFactory: MyGame.new)); } class MyGame extends FlameGame with TapCallbacks { diff --git a/packages/flame_rive/example/lib/main.dart b/packages/flame_rive/example/lib/main.dart index 9b8ac9cb6af..356eb2c5db7 100644 --- a/packages/flame_rive/example/lib/main.dart +++ b/packages/flame_rive/example/lib/main.dart @@ -8,7 +8,7 @@ import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await RiveNative.init(); - runApp(const GameWidget.controlled(gameFactory: RiveExampleGame.new)); + runApp(const GameWidget.managed(gameFactory: RiveExampleGame.new)); } class RiveExampleGame extends FlameGame { diff --git a/packages/flame_spine/example/lib/main.dart b/packages/flame_spine/example/lib/main.dart index fa3a22ea05a..f12f84e9c29 100644 --- a/packages/flame_spine/example/lib/main.dart +++ b/packages/flame_spine/example/lib/main.dart @@ -7,7 +7,7 @@ import 'package:flutter/material.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await initSpineFlutter(); - runApp(const GameWidget.controlled(gameFactory: SpineExample.new)); + runApp(const GameWidget.managed(gameFactory: SpineExample.new)); } class SpineExample extends FlameGame with TapCallbacks { diff --git a/packages/flame_sprite_fusion/example/lib/main.dart b/packages/flame_sprite_fusion/example/lib/main.dart index 1422f5e60dd..a92c97b431d 100644 --- a/packages/flame_sprite_fusion/example/lib/main.dart +++ b/packages/flame_sprite_fusion/example/lib/main.dart @@ -15,7 +15,7 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - home: GameWidget.controlled( + home: GameWidget.managed( gameFactory: () => PlatformerGame( camera: CameraComponent.withFixedResolution(width: 320, height: 180), ), diff --git a/packages/flame_typled/example/lib/main.dart b/packages/flame_typled/example/lib/main.dart index cc6f95dade6..87e6aba4afc 100644 --- a/packages/flame_typled/example/lib/main.dart +++ b/packages/flame_typled/example/lib/main.dart @@ -15,7 +15,7 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return const MaterialApp( - home: GameWidget.controlled( + home: GameWidget.managed( gameFactory: TypledExample.new, ), );