refactor: position logic

pull/93/head
Allison Ryan 4 years ago
parent daca546ee0
commit 69253e9f8c

@ -77,35 +77,30 @@ class BonusWord extends Component with BlocComponent<GameBloc, GameState> {
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
final letters = GameBloc.bonusWord.split(''); final letters = GameBloc.bonusWord.split('');
final rightSide = Vector2(-1, 1); final positions = [
final bottomOffset = Vector2(-12.92, -1.82); Vector2(-12.92, -1.82),
final midOffset = Vector2(-8.33, 0.65); Vector2(-8.33, 0.65),
final topOffset = Vector2(-2.88, 1.75); Vector2(-2.88, 1.75),
];
final letter0 = BonusLetter(letter: letters[0], index: 0)
..initialPosition = _position + bottomOffset; final mirroredPositions = positions.reversed
final letter1 = BonusLetter(letter: letters[1], index: 1) .map((position) => Vector2(position.x * -1, position.y))
..initialPosition = _position + midOffset; .toList();
final letter2 = BonusLetter(letter: letters[2], index: 2) positions.addAll(mirroredPositions);
..initialPosition = _position + topOffset; assert(positions.length == GameBloc.bonusWord.length, 'Invalid positions');
final letter3 = BonusLetter(letter: letters[3], index: 3)
..initialPosition = _position + (topOffset..multiply(rightSide)); for (var i = 0; i < GameBloc.bonusWord.length; i++) {
final letter4 = BonusLetter(letter: letters[4], index: 4) unawaited(
..initialPosition = _position + (midOffset..multiply(rightSide)); add(
final letter5 = BonusLetter(letter: letters[5], index: 5) BonusLetter(
..initialPosition = _position + (bottomOffset..multiply(rightSide)); letter: letters[i],
index: i,
unawaited( )..initialPosition = positions[i],
addAll([ ),
letter0, );
letter1, }
letter2,
letter3,
letter4,
letter5,
]),
);
} }
} }

Loading…
Cancel
Save