feat: adding remaining bonus sfx (#390)

pull/395/head
Erick 2 years ago committed by GitHub
parent 7fb634bf96
commit 8d4b031350
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -25,10 +25,13 @@ class BonusNoiseBehavior extends Component {
audioPlayer.play(PinballAudio.sparky);
break;
case GameBonus.dinoChomp:
audioPlayer.play(PinballAudio.dino);
break;
case GameBonus.androidSpaceship:
audioPlayer.play(PinballAudio.android);
break;
case GameBonus.dashNest:
audioPlayer.play(PinballAudio.dash);
break;
}
},

@ -14,8 +14,11 @@ class $AssetsMusicGen {
class $AssetsSfxGen {
const $AssetsSfxGen();
String get android => 'assets/sfx/android.mp3';
String get bumperA => 'assets/sfx/bumper_a.mp3';
String get bumperB => 'assets/sfx/bumper_b.mp3';
String get dash => 'assets/sfx/dash.mp3';
String get dino => 'assets/sfx/dino.mp3';
String get gameOverVoiceOver => 'assets/sfx/game_over_voice_over.mp3';
String get google => 'assets/sfx/google.mp3';
String get ioPinballVoiceOver => 'assets/sfx/io_pinball_voice_over.mp3';

@ -28,6 +28,15 @@ enum PinballAudio {
/// Sparky
sparky,
/// Android
android,
/// Dino
dino,
/// Dash
dash,
}
/// Defines the contract of the creation of an [AudioPool].
@ -169,6 +178,21 @@ class PinballPlayer {
playSingleAudio: _playSingleAudio,
path: Assets.sfx.sparky,
),
PinballAudio.dino: _SimplePlayAudio(
preCacheSingleAudio: _preCacheSingleAudio,
playSingleAudio: _playSingleAudio,
path: Assets.sfx.dino,
),
PinballAudio.dash: _SimplePlayAudio(
preCacheSingleAudio: _preCacheSingleAudio,
playSingleAudio: _playSingleAudio,
path: Assets.sfx.dash,
),
PinballAudio.android: _SimplePlayAudio(
preCacheSingleAudio: _preCacheSingleAudio,
playSingleAudio: _playSingleAudio,
path: Assets.sfx.android,
),
PinballAudio.launcher: _SimplePlayAudio(
preCacheSingleAudio: _preCacheSingleAudio,
playSingleAudio: _playSingleAudio,

@ -145,6 +145,18 @@ void main() {
() => preCacheSingleAudio
.onCall('packages/pinball_audio/assets/sfx/sparky.mp3'),
).called(1);
verify(
() => preCacheSingleAudio
.onCall('packages/pinball_audio/assets/sfx/dino.mp3'),
).called(1);
verify(
() => preCacheSingleAudio
.onCall('packages/pinball_audio/assets/sfx/android.mp3'),
).called(1);
verify(
() => preCacheSingleAudio
.onCall('packages/pinball_audio/assets/sfx/dash.mp3'),
).called(1);
verify(
() => preCacheSingleAudio.onCall(
'packages/pinball_audio/assets/sfx/io_pinball_voice_over.mp3',
@ -239,6 +251,42 @@ void main() {
});
});
group('dino', () {
test('plays the correct file', () async {
await Future.wait(player.load());
player.play(PinballAudio.dino);
verify(
() => playSingleAudio
.onCall('packages/pinball_audio/${Assets.sfx.dino}'),
).called(1);
});
});
group('android', () {
test('plays the correct file', () async {
await Future.wait(player.load());
player.play(PinballAudio.android);
verify(
() => playSingleAudio
.onCall('packages/pinball_audio/${Assets.sfx.android}'),
).called(1);
});
});
group('dash', () {
test('plays the correct file', () async {
await Future.wait(player.load());
player.play(PinballAudio.dash);
verify(
() => playSingleAudio
.onCall('packages/pinball_audio/${Assets.sfx.dash}'),
).called(1);
});
});
group('launcher', () {
test('plays the correct file', () async {
await Future.wait(player.load());

@ -126,7 +126,7 @@ void main() {
await game.pump(behavior, player: player, bloc: bloc);
},
verify: (_, __) async {
verifyNever(() => player.play(any()));
verify(() => player.play(PinballAudio.dino)).called(1);
},
);
@ -151,7 +151,7 @@ void main() {
await game.pump(behavior, player: player, bloc: bloc);
},
verify: (_, __) async {
verifyNever(() => player.play(any()));
verify(() => player.play(PinballAudio.android)).called(1);
},
);
@ -176,7 +176,7 @@ void main() {
await game.pump(behavior, player: player, bloc: bloc);
},
verify: (_, __) async {
verifyNever(() => player.play(any()));
verify(() => player.play(PinballAudio.dash)).called(1);
},
);
});

Loading…
Cancel
Save