diff --git a/lib/game/components/controlled_multipliers.dart b/lib/game/components/controlled_multipliers.dart index 3c4c9e3a..6df9dee5 100644 --- a/lib/game/components/controlled_multipliers.dart +++ b/lib/game/components/controlled_multipliers.dart @@ -22,12 +22,12 @@ class Multipliers extends Component ), x3multiplier = Multiplier( value: MultiplierValue.x3, - position: Vector2(13, -9.5), + position: Vector2(13, -9.4), rotation: 15 * math.pi / 180, ), x4multiplier = Multiplier( value: MultiplierValue.x4, - position: Vector2(0, -21), + position: Vector2(0, -21.2), ), x5multiplier = Multiplier( value: MultiplierValue.x5, @@ -36,7 +36,7 @@ class Multipliers extends Component ), x6multiplier = Multiplier( value: MultiplierValue.x6, - position: Vector2(10, -31), + position: Vector2(10, -30.7), rotation: 8 * math.pi / 180, ), super() { diff --git a/packages/pinball_components/test/src/components/multiplier_test.dart b/packages/pinball_components/test/src/components/multiplier_test.dart index 71841368..6895b5cd 100644 --- a/packages/pinball_components/test/src/components/multiplier_test.dart +++ b/packages/pinball_components/test/src/components/multiplier_test.dart @@ -24,30 +24,13 @@ void main() { ]; final flameTester = FlameTester(() => TestGame(assets)); - test('fails if multiplier value is not in range', () { - expect( - () => Multiplier( - value: 1, - position: Vector2.zero(), - ), - throwsA(isA()), - ); - expect( - () => Multiplier( - value: 7, - position: Vector2.zero(), - ), - throwsA(isA()), - ); - }); - group('renders correctly', () { flameTester.testGameWidget( 'x2 active', setUp: (game, tester) async { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 2, + value: MultiplierValue.x2, position: Vector2.zero(), ); await game.ensureAdd(multiplier); @@ -55,17 +38,18 @@ void main() { multiplier.toggle(2); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.active, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x2-active.png'), @@ -79,23 +63,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 2, + value: MultiplierValue.x2, position: Vector2.zero(), ); await game.ensureAdd(multiplier); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x2-inactive.png'), @@ -109,28 +94,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 2, + value: MultiplierValue.x2, position: Vector2.zero(), ); await game.ensureAdd(multiplier); multiplier.toggle(1); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { - await expectLater( - find.byGame(), - matchesGoldenFile('golden/multipliers/x2-inactive.png'), - ); }, ); @@ -140,7 +121,7 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 3, + value: MultiplierValue.x3, position: Vector2.zero(), ); await game.ensureAdd(multiplier); @@ -148,17 +129,18 @@ void main() { multiplier.toggle(3); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.active, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x3-active.png'), @@ -172,23 +154,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 3, + value: MultiplierValue.x3, position: Vector2.zero(), ); await game.ensureAdd(multiplier); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x3-inactive.png'), @@ -202,28 +185,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 3, + value: MultiplierValue.x3, position: Vector2.zero(), ); await game.ensureAdd(multiplier); multiplier.toggle(1); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { - await expectLater( - find.byGame(), - matchesGoldenFile('golden/multipliers/x3-inactive.png'), - ); }, ); @@ -233,7 +212,7 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 4, + value: MultiplierValue.x4, position: Vector2.zero(), ); await game.ensureAdd(multiplier); @@ -241,17 +220,18 @@ void main() { multiplier.toggle(4); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.active, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x4-active.png'), @@ -265,23 +245,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 4, + value: MultiplierValue.x4, position: Vector2.zero(), ); await game.ensureAdd(multiplier); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x4-inactive.png'), @@ -295,28 +276,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 4, + value: MultiplierValue.x4, position: Vector2.zero(), ); await game.ensureAdd(multiplier); multiplier.toggle(1); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { - await expectLater( - find.byGame(), - matchesGoldenFile('golden/multipliers/x4-inactive.png'), - ); }, ); @@ -326,7 +303,7 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 5, + value: MultiplierValue.x5, position: Vector2.zero(), ); await game.ensureAdd(multiplier); @@ -334,17 +311,18 @@ void main() { multiplier.toggle(5); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.active, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x5-active.png'), @@ -358,23 +336,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 5, + value: MultiplierValue.x5, position: Vector2.zero(), ); await game.ensureAdd(multiplier); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x5-inactive.png'), @@ -388,28 +367,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 5, + value: MultiplierValue.x5, position: Vector2.zero(), ); await game.ensureAdd(multiplier); multiplier.toggle(1); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { - await expectLater( - find.byGame(), - matchesGoldenFile('golden/multipliers/x5-inactive.png'), - ); }, ); @@ -419,7 +394,7 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 6, + value: MultiplierValue.x6, position: Vector2.zero(), ); await game.ensureAdd(multiplier); @@ -427,17 +402,18 @@ void main() { multiplier.toggle(6); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.active, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x6-active.png'), @@ -451,23 +427,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 6, + value: MultiplierValue.x6, position: Vector2.zero(), ); await game.ensureAdd(multiplier); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { await expectLater( find.byGame(), matchesGoldenFile('golden/multipliers/x6-inactive.png'), @@ -481,28 +458,24 @@ void main() { await game.images.loadAll(assets); final multiplier = Multiplier( - value: 6, + value: MultiplierValue.x6, position: Vector2.zero(), ); await game.ensureAdd(multiplier); multiplier.toggle(1); await tester.pump(); + game.camera.followVector2(Vector2.zero()); + }, + verify: (game, tester) async { expect( - multiplier.children + game + .descendants() .whereType() .first .current, MultiplierSpriteState.inactive, ); - - game.camera.followVector2(Vector2.zero()); - }, - verify: (game, tester) async { - await expectLater( - find.byGame(), - matchesGoldenFile('golden/multipliers/x6-inactive.png'), - ); }, ); });