feat: added multipliers

pull/231/head
RuiAlonso 3 years ago
parent e63d893a9c
commit 9a21264571

@ -101,6 +101,16 @@ extension PinballGameAssetsX on PinballGame {
images.load(components.Assets.images.googleWord.letter5.keyName), images.load(components.Assets.images.googleWord.letter5.keyName),
images.load(components.Assets.images.googleWord.letter6.keyName), images.load(components.Assets.images.googleWord.letter6.keyName),
images.load(components.Assets.images.backboard.display.keyName), images.load(components.Assets.images.backboard.display.keyName),
images.load(components.Assets.images.multiplier.x2.active.keyName),
images.load(components.Assets.images.multiplier.x2.inactive.keyName),
images.load(components.Assets.images.multiplier.x3.active.keyName),
images.load(components.Assets.images.multiplier.x3.inactive.keyName),
images.load(components.Assets.images.multiplier.x4.active.keyName),
images.load(components.Assets.images.multiplier.x4.inactive.keyName),
images.load(components.Assets.images.multiplier.x5.active.keyName),
images.load(components.Assets.images.multiplier.x5.inactive.keyName),
images.load(components.Assets.images.multiplier.x6.active.keyName),
images.load(components.Assets.images.multiplier.x6.inactive.keyName),
images.load(dashTheme.leaderboardIcon.keyName), images.load(dashTheme.leaderboardIcon.keyName),
images.load(sparkyTheme.leaderboardIcon.keyName), images.load(sparkyTheme.leaderboardIcon.keyName),
images.load(androidTheme.leaderboardIcon.keyName), images.load(androidTheme.leaderboardIcon.keyName),

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@ -26,6 +26,8 @@ class $AssetsImagesGen {
$AssetsImagesKickerGen get kicker => const $AssetsImagesKickerGen(); $AssetsImagesKickerGen get kicker => const $AssetsImagesKickerGen();
$AssetsImagesLaunchRampGen get launchRamp => $AssetsImagesLaunchRampGen get launchRamp =>
const $AssetsImagesLaunchRampGen(); const $AssetsImagesLaunchRampGen();
$AssetsImagesMultiplierGen get multiplier =>
const $AssetsImagesMultiplierGen();
$AssetsImagesPlungerGen get plunger => const $AssetsImagesPlungerGen(); $AssetsImagesPlungerGen get plunger => const $AssetsImagesPlungerGen();
$AssetsImagesSignpostGen get signpost => const $AssetsImagesSignpostGen(); $AssetsImagesSignpostGen get signpost => const $AssetsImagesSignpostGen();
$AssetsImagesSlingshotGen get slingshot => const $AssetsImagesSlingshotGen(); $AssetsImagesSlingshotGen get slingshot => const $AssetsImagesSlingshotGen();
@ -197,6 +199,16 @@ class $AssetsImagesLaunchRampGen {
const AssetGenImage('assets/images/launch_ramp/ramp.png'); const AssetGenImage('assets/images/launch_ramp/ramp.png');
} }
class $AssetsImagesMultiplierGen {
const $AssetsImagesMultiplierGen();
$AssetsImagesMultiplierX2Gen get x2 => const $AssetsImagesMultiplierX2Gen();
$AssetsImagesMultiplierX3Gen get x3 => const $AssetsImagesMultiplierX3Gen();
$AssetsImagesMultiplierX4Gen get x4 => const $AssetsImagesMultiplierX4Gen();
$AssetsImagesMultiplierX5Gen get x5 => const $AssetsImagesMultiplierX5Gen();
$AssetsImagesMultiplierX6Gen get x6 => const $AssetsImagesMultiplierX6Gen();
}
class $AssetsImagesPlungerGen { class $AssetsImagesPlungerGen {
const $AssetsImagesPlungerGen(); const $AssetsImagesPlungerGen();
@ -261,8 +273,10 @@ class $AssetsImagesSpaceshipGen {
class $AssetsImagesSparkyGen { class $AssetsImagesSparkyGen {
const $AssetsImagesSparkyGen(); const $AssetsImagesSparkyGen();
/// File path: assets/images/sparky/animatronic.png
AssetGenImage get animatronic => AssetGenImage get animatronic =>
const AssetGenImage('assets/images/sparky/animatronic.png'); const AssetGenImage('assets/images/sparky/animatronic.png');
$AssetsImagesSparkyBumperGen get bumper => $AssetsImagesSparkyBumperGen get bumper =>
const $AssetsImagesSparkyBumperGen(); const $AssetsImagesSparkyBumperGen();
$AssetsImagesSparkyComputerGen get computer => $AssetsImagesSparkyComputerGen get computer =>
@ -302,6 +316,66 @@ class $AssetsImagesDashBumperGen {
const $AssetsImagesDashBumperMainGen(); const $AssetsImagesDashBumperMainGen();
} }
class $AssetsImagesMultiplierX2Gen {
const $AssetsImagesMultiplierX2Gen();
/// File path: assets/images/multiplier/x2/active.png
AssetGenImage get active =>
const AssetGenImage('assets/images/multiplier/x2/active.png');
/// File path: assets/images/multiplier/x2/inactive.png
AssetGenImage get inactive =>
const AssetGenImage('assets/images/multiplier/x2/inactive.png');
}
class $AssetsImagesMultiplierX3Gen {
const $AssetsImagesMultiplierX3Gen();
/// File path: assets/images/multiplier/x3/active.png
AssetGenImage get active =>
const AssetGenImage('assets/images/multiplier/x3/active.png');
/// File path: assets/images/multiplier/x3/inactive.png
AssetGenImage get inactive =>
const AssetGenImage('assets/images/multiplier/x3/inactive.png');
}
class $AssetsImagesMultiplierX4Gen {
const $AssetsImagesMultiplierX4Gen();
/// File path: assets/images/multiplier/x4/active.png
AssetGenImage get active =>
const AssetGenImage('assets/images/multiplier/x4/active.png');
/// File path: assets/images/multiplier/x4/inactive.png
AssetGenImage get inactive =>
const AssetGenImage('assets/images/multiplier/x4/inactive.png');
}
class $AssetsImagesMultiplierX5Gen {
const $AssetsImagesMultiplierX5Gen();
/// File path: assets/images/multiplier/x5/active.png
AssetGenImage get active =>
const AssetGenImage('assets/images/multiplier/x5/active.png');
/// File path: assets/images/multiplier/x5/inactive.png
AssetGenImage get inactive =>
const AssetGenImage('assets/images/multiplier/x5/inactive.png');
}
class $AssetsImagesMultiplierX6Gen {
const $AssetsImagesMultiplierX6Gen();
/// File path: assets/images/multiplier/x6/active.png
AssetGenImage get active =>
const AssetGenImage('assets/images/multiplier/x6/active.png');
/// File path: assets/images/multiplier/x6/inactive.png
AssetGenImage get inactive =>
const AssetGenImage('assets/images/multiplier/x6/inactive.png');
}
class $AssetsImagesSpaceshipRailGen { class $AssetsImagesSpaceshipRailGen {
const $AssetsImagesSpaceshipRailGen(); const $AssetsImagesSpaceshipRailGen();

@ -19,6 +19,7 @@ export 'kicker.dart';
export 'launch_ramp.dart'; export 'launch_ramp.dart';
export 'layer.dart'; export 'layer.dart';
export 'layer_sensor.dart'; export 'layer_sensor.dart';
export 'multiplier.dart';
export 'plunger.dart'; export 'plunger.dart';
export 'render_priority.dart'; export 'render_priority.dart';
export 'rocket.dart'; export 'rocket.dart';

@ -0,0 +1,47 @@
import 'package:flame/components.dart';
/// Indicates the current sprite state of the multiplier.
enum MultiplierSpriteState {
/// A lit up bumper.
active,
/// A dimmed bumper.
inactive,
}
/// {@template multiplier_sprite_group_component}
/// A [SpriteGroupComponent] for the multiplier over the board.
/// {@endtemplate}
class MultiplierSpriteGroupComponent
extends SpriteGroupComponent<MultiplierSpriteState> with HasGameRef {
/// {@macro multiplier_sprite_group_component}
MultiplierSpriteGroupComponent({
required Vector2 position,
required String onAssetPath,
required String offAssetPath,
}) : _onAssetPath = onAssetPath,
_offAssetPath = offAssetPath,
super(
anchor: Anchor.center,
position: position,
);
final String _onAssetPath;
final String _offAssetPath;
@override
Future<void> onLoad() async {
await super.onLoad();
final sprites = {
MultiplierSpriteState.active:
Sprite(gameRef.images.fromCache(_onAssetPath)),
MultiplierSpriteState.inactive:
Sprite(gameRef.images.fromCache(_offAssetPath)),
};
this.sprites = sprites;
current = MultiplierSpriteState.inactive;
size = sprites[current]!.originalSize / 10;
}
}

@ -69,6 +69,11 @@ flutter:
- assets/images/backboard/ - assets/images/backboard/
- assets/images/google_word/ - assets/images/google_word/
- assets/images/signpost/ - assets/images/signpost/
- assets/images/multiplier/x2/
- assets/images/multiplier/x3/
- assets/images/multiplier/x4/
- assets/images/multiplier/x5/
- assets/images/multiplier/x6/
flutter_gen: flutter_gen:
line_length: 80 line_length: 80

Loading…
Cancel
Save