diff --git a/packages/pinball_components/sandbox/lib/stories/multipliers/multipliers_game.dart b/packages/pinball_components/sandbox/lib/stories/multipliers/multipliers_game.dart index 1792575e..27089f03 100644 --- a/packages/pinball_components/sandbox/lib/stories/multipliers/multipliers_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/multipliers/multipliers_game.dart @@ -14,11 +14,11 @@ class MultipliersGame extends BallGame with KeyboardEvents { - Press digits 2 to 6 for toggle state multipliers 2 to 6. '''; - late final MultiplierSpriteGroupComponent x2; - late final MultiplierSpriteGroupComponent x3; - late final MultiplierSpriteGroupComponent x4; - late final MultiplierSpriteGroupComponent x5; - late final MultiplierSpriteGroupComponent x6; + late final Multiplier x2; + late final Multiplier x3; + late final Multiplier x4; + late final Multiplier x5; + late final Multiplier x6; @override Future onLoad() async { @@ -38,34 +38,29 @@ class MultipliersGame extends BallGame with KeyboardEvents { ]); camera.followVector2(Vector2.zero()); - x2 = MultiplierSpriteGroupComponent( + x2 = Multiplier( + value: 2, position: Vector2(-20, 0), - onAssetPath: Assets.images.multiplier.x2.active.keyName, - offAssetPath: Assets.images.multiplier.x2.inactive.keyName, ); - x3 = MultiplierSpriteGroupComponent( + x3 = Multiplier( + value: 3, position: Vector2(20, -5), - onAssetPath: Assets.images.multiplier.x3.active.keyName, - offAssetPath: Assets.images.multiplier.x3.inactive.keyName, ); - x4 = MultiplierSpriteGroupComponent( + x4 = Multiplier( + value: 4, position: Vector2(0, -15), - onAssetPath: Assets.images.multiplier.x4.active.keyName, - offAssetPath: Assets.images.multiplier.x4.inactive.keyName, ); - x5 = MultiplierSpriteGroupComponent( + x5 = Multiplier( + value: 5, position: Vector2(-10, -25), - onAssetPath: Assets.images.multiplier.x5.active.keyName, - offAssetPath: Assets.images.multiplier.x5.inactive.keyName, ); - x6 = MultiplierSpriteGroupComponent( + x6 = Multiplier( + value: 6, position: Vector2(10, -35), - onAssetPath: Assets.images.multiplier.x6.active.keyName, - offAssetPath: Assets.images.multiplier.x6.inactive.keyName, ); await addAll([x2, x3, x4, x5, x6]); @@ -78,34 +73,32 @@ class MultipliersGame extends BallGame with KeyboardEvents { Set keysPressed, ) { if (event is RawKeyDownEvent) { + var currentMultiplier = 1; + if (event.logicalKey == LogicalKeyboardKey.digit2) { - x2.toggle(); + currentMultiplier = 2; } if (event.logicalKey == LogicalKeyboardKey.digit3) { - x3.toggle(); + currentMultiplier = 3; } if (event.logicalKey == LogicalKeyboardKey.digit4) { - x4.toggle(); + currentMultiplier = 4; } if (event.logicalKey == LogicalKeyboardKey.digit5) { - x5.toggle(); + currentMultiplier = 5; } if (event.logicalKey == LogicalKeyboardKey.digit6) { - x6.toggle(); + currentMultiplier = 6; } + x2.toggle(currentMultiplier); + x3.toggle(currentMultiplier); + x4.toggle(currentMultiplier); + x5.toggle(currentMultiplier); + x6.toggle(currentMultiplier); + return KeyEventResult.handled; } return KeyEventResult.ignored; } } - -extension on MultiplierSpriteGroupComponent { - void toggle() { - if (current == MultiplierSpriteState.active) { - current = MultiplierSpriteState.inactive; - } else { - current = MultiplierSpriteState.active; - } - } -}