refactor: changed sandbox for multipliers

pull/231/head
RuiAlonso 3 years ago
parent 3f53cc7858
commit b6b3372b5b

@ -14,11 +14,11 @@ class MultipliersGame extends BallGame with KeyboardEvents {
- Press digits 2 to 6 for toggle state multipliers 2 to 6. - Press digits 2 to 6 for toggle state multipliers 2 to 6.
'''; ''';
late final MultiplierSpriteGroupComponent x2; late final Multiplier x2;
late final MultiplierSpriteGroupComponent x3; late final Multiplier x3;
late final MultiplierSpriteGroupComponent x4; late final Multiplier x4;
late final MultiplierSpriteGroupComponent x5; late final Multiplier x5;
late final MultiplierSpriteGroupComponent x6; late final Multiplier x6;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
@ -38,34 +38,29 @@ class MultipliersGame extends BallGame with KeyboardEvents {
]); ]);
camera.followVector2(Vector2.zero()); camera.followVector2(Vector2.zero());
x2 = MultiplierSpriteGroupComponent( x2 = Multiplier(
value: 2,
position: Vector2(-20, 0), 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), 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), 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), 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), 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]); await addAll([x2, x3, x4, x5, x6]);
@ -78,34 +73,32 @@ class MultipliersGame extends BallGame with KeyboardEvents {
Set<LogicalKeyboardKey> keysPressed, Set<LogicalKeyboardKey> keysPressed,
) { ) {
if (event is RawKeyDownEvent) { if (event is RawKeyDownEvent) {
var currentMultiplier = 1;
if (event.logicalKey == LogicalKeyboardKey.digit2) { if (event.logicalKey == LogicalKeyboardKey.digit2) {
x2.toggle(); currentMultiplier = 2;
} }
if (event.logicalKey == LogicalKeyboardKey.digit3) { if (event.logicalKey == LogicalKeyboardKey.digit3) {
x3.toggle(); currentMultiplier = 3;
} }
if (event.logicalKey == LogicalKeyboardKey.digit4) { if (event.logicalKey == LogicalKeyboardKey.digit4) {
x4.toggle(); currentMultiplier = 4;
} }
if (event.logicalKey == LogicalKeyboardKey.digit5) { if (event.logicalKey == LogicalKeyboardKey.digit5) {
x5.toggle(); currentMultiplier = 5;
} }
if (event.logicalKey == LogicalKeyboardKey.digit6) { 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.handled;
} }
return KeyEventResult.ignored; return KeyEventResult.ignored;
} }
} }
extension on MultiplierSpriteGroupComponent {
void toggle() {
if (current == MultiplierSpriteState.active) {
current = MultiplierSpriteState.inactive;
} else {
current = MultiplierSpriteState.active;
}
}
}

Loading…
Cancel
Save