From e0fee4ad1603acd42e9445b3a433c70482f036a6 Mon Sep 17 00:00:00 2001 From: alestiago Date: Wed, 13 Apr 2022 10:50:39 +0100 Subject: [PATCH] refactor: removed GoogleLetter public index --- lib/game/components/google_word.dart | 19 ++++++++++--------- .../lib/src/components/google_letter.dart | 5 +---- test/game/components/google_word_test.dart | 4 ---- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/lib/game/components/google_word.dart b/lib/game/components/google_word.dart index 655b7d5c..d3fb4376 100644 --- a/lib/game/components/google_word.dart +++ b/lib/game/components/google_word.dart @@ -53,21 +53,21 @@ class _GoogleWordController extends ComponentController static const _googleWord = 'Google'; - final Set _activatedIndexes = {}; + final _activatedLetters = {}; - void activate(int index) { - if (!_activatedIndexes.add(index)) return; + void activate(GoogleLetter googleLetter) { + if (!_activatedLetters.add(googleLetter)) return; - component.children.whereType().elementAt(index).activate(); + googleLetter.activate(); - final activatedBonus = _activatedIndexes.length == _googleWord.length; + final activatedBonus = _activatedLetters.length == _googleWord.length; if (activatedBonus) { gameRef.audio.googleBonus(); gameRef.read().add(const BonusActivated(GameBonus.word)); component.children.whereType().forEach( (letter) => letter.deactivate(), ); - _activatedIndexes.clear(); + _activatedLetters.clear(); } } } @@ -77,8 +77,9 @@ class _GoogleLetterBallContactCallback extends ContactCallback { @override void begin(GoogleLetter googleLetter, _, __) { - (googleLetter.parent! as GoogleWord) - .controller - .activate(googleLetter.index); + final parent = googleLetter.parent; + if (parent is GoogleWord) { + parent.controller.activate(googleLetter); + } } } diff --git a/packages/pinball_components/lib/src/components/google_letter.dart b/packages/pinball_components/lib/src/components/google_letter.dart index 65779fd6..9e9e2dec 100644 --- a/packages/pinball_components/lib/src/components/google_letter.dart +++ b/packages/pinball_components/lib/src/components/google_letter.dart @@ -9,14 +9,11 @@ import 'package:pinball_components/pinball_components.dart'; /// {@endtemplate} class GoogleLetter extends BodyComponent with InitialPosition { /// {@macro google_letter} - GoogleLetter(this.index) + GoogleLetter(int index) : _sprite = _GoogleLetterSprite( _GoogleLetterSprite.spritePaths[index], ); - /// Index of the letter in the "GOOGLE" word. - final int index; - final _GoogleLetterSprite _sprite; /// Activates this [GoogleLetter]. diff --git a/test/game/components/google_word_test.dart b/test/game/components/google_word_test.dart index a0c2f479..87744de4 100644 --- a/test/game/components/google_word_test.dart +++ b/test/game/components/google_word_test.dart @@ -41,10 +41,6 @@ void main() { final letters = googleWord.children.whereType(); expect(letters.length, equals(word.length)); - - for (var index = 0; index < word.length; index++) { - expect(letters.elementAt(index).index, equals(index)); - } }, );