diff --git a/packages/pinball_components/test/src/components/spaceship_ramp_test.dart b/packages/pinball_components/test/src/components/spaceship_ramp_test.dart index 98a6e95f..a65ba18b 100644 --- a/packages/pinball_components/test/src/components/spaceship_ramp_test.dart +++ b/packages/pinball_components/test/src/components/spaceship_ramp_test.dart @@ -29,9 +29,12 @@ void main() { 'loads correctly', (game) async { final spaceshipRamp = SpaceshipRamp(); - await game.ensureAdd(spaceshipRamp); + await game.addFromBlueprint(spaceshipRamp); + await game.ready(); - expect(game.contains(spaceshipRamp), isTrue); + for (final component in spaceshipRamp.components) { + expect(game.contains(component), isTrue); + } }, ); diff --git a/packages/pinball_flame/lib/src/blueprint.dart b/packages/pinball_flame/lib/src/blueprint.dart index de9c8b2c..c7bd5a5e 100644 --- a/packages/pinball_flame/lib/src/blueprint.dart +++ b/packages/pinball_flame/lib/src/blueprint.dart @@ -1,16 +1,13 @@ import 'package:flame/components.dart'; import 'package:flame/game.dart'; -// TODO(erickzanardo): Keeping this inside our code base -// so we can experiment with the idea, but this is a -// potential upstream change on Flame. +// TODO(erickzanardo): Keeping this inside our code base so we can experiment +// with the idea, but this is a potential upstream change on Flame. /// {@template blueprint} -/// A [Blueprint] is a virtual way of grouping [Component]s that are related, -/// but they need to be added directly on the [FlameGame] level. +/// A [Blueprint] is a virtual way of grouping [Component]s that are related. /// {@endtemplate blueprint} -// TODO(alestiago): refactor with feat/make-blueprint-extend-component. -class Blueprint extends Component { +class Blueprint { /// {@macro blueprint} Blueprint({ Iterable? components, @@ -27,7 +24,7 @@ class Blueprint extends Component { final List _components = []; - final List _blueprints = []; + final List _blueprints = []; Future _addToParent(Component parent) async { await parent.addAll(_components); @@ -37,7 +34,7 @@ class Blueprint extends Component { List get components => List.unmodifiable(_components); /// Returns a copy of the blueprints built by this blueprint. - List get blueprints => List.unmodifiable(_blueprints); + List get blueprints => List.unmodifiable(_blueprints); } /// Adds helper methods regarding [Blueprint]s to [FlameGame]. diff --git a/test/game/components/sparky_fire_zone_test.dart b/test/game/components/sparky_fire_zone_test.dart index e2bc08b3..0ad69dab 100644 --- a/test/game/components/sparky_fire_zone_test.dart +++ b/test/game/components/sparky_fire_zone_test.dart @@ -27,8 +27,8 @@ void main() { group('SparkyFireZone', () { flameTester.test('loads correctly', (game) async { - final sparkyFireZone = SparkyFireZone(); - await game.ensureAdd(sparkyFireZone); + await game.addFromBlueprint(SparkyFireZone()); + await game.ready(); }); group('loads', () {