|
|
@ -77,36 +77,31 @@ 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 rightSide = Vector2(-1, 1);
|
|
|
|
|
|
|
|
final bottomOffset = Vector2(-12.92, -1.82);
|
|
|
|
|
|
|
|
final midOffset = Vector2(-8.33, 0.65);
|
|
|
|
|
|
|
|
final topOffset = Vector2(-2.88, 1.75);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final letter0 = BonusLetter(letter: letters[0], index: 0)
|
|
|
|
|
|
|
|
..initialPosition = _position + bottomOffset;
|
|
|
|
|
|
|
|
final letter1 = BonusLetter(letter: letters[1], index: 1)
|
|
|
|
|
|
|
|
..initialPosition = _position + midOffset;
|
|
|
|
|
|
|
|
final letter2 = BonusLetter(letter: letters[2], index: 2)
|
|
|
|
|
|
|
|
..initialPosition = _position + topOffset;
|
|
|
|
|
|
|
|
final letter3 = BonusLetter(letter: letters[3], index: 3)
|
|
|
|
|
|
|
|
..initialPosition = _position + (topOffset..multiply(rightSide));
|
|
|
|
|
|
|
|
final letter4 = BonusLetter(letter: letters[4], index: 4)
|
|
|
|
|
|
|
|
..initialPosition = _position + (midOffset..multiply(rightSide));
|
|
|
|
|
|
|
|
final letter5 = BonusLetter(letter: letters[5], index: 5)
|
|
|
|
|
|
|
|
..initialPosition = _position + (bottomOffset..multiply(rightSide));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final letters = GameBloc.bonusWord.split('');
|
|
|
|
|
|
|
|
final positions = [
|
|
|
|
|
|
|
|
Vector2(-12.92, -1.82),
|
|
|
|
|
|
|
|
Vector2(-8.33, 0.65),
|
|
|
|
|
|
|
|
Vector2(-2.88, 1.75),
|
|
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final mirroredPositions = positions.reversed
|
|
|
|
|
|
|
|
.map((position) => Vector2(position.x * -1, position.y))
|
|
|
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
positions.addAll(mirroredPositions);
|
|
|
|
|
|
|
|
assert(positions.length == GameBloc.bonusWord.length, 'Invalid positions');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < GameBloc.bonusWord.length; i++) {
|
|
|
|
unawaited(
|
|
|
|
unawaited(
|
|
|
|
addAll([
|
|
|
|
add(
|
|
|
|
letter0,
|
|
|
|
BonusLetter(
|
|
|
|
letter1,
|
|
|
|
letter: letters[i],
|
|
|
|
letter2,
|
|
|
|
index: i,
|
|
|
|
letter3,
|
|
|
|
)..initialPosition = positions[i],
|
|
|
|
letter4,
|
|
|
|
),
|
|
|
|
letter5,
|
|
|
|
|
|
|
|
]),
|
|
|
|
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// {@template bonus_letter}
|
|
|
|
/// {@template bonus_letter}
|
|
|
|