Chromium Code Reviews| Index: samples/pop_pop_win/lib/src/stage/board_element.dart |
| diff --git a/samples/pop_pop_win/lib/src/stage/board_element.dart b/samples/pop_pop_win/lib/src/stage/board_element.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..60de387193e69ed1a8600892ce52cc66e55183f3 |
| --- /dev/null |
| +++ b/samples/pop_pop_win/lib/src/stage/board_element.dart |
| @@ -0,0 +1,44 @@ |
| +library pop_pop_win.stage.board_element; |
| + |
| +import 'package:bot/bot.dart' show Array2d; |
| +import 'package:stagexl/stagexl.dart'; |
| + |
| +import '../game.dart'; |
|
Siggi Cherem (dart-lang)
2014/04/21 22:00:56
same here
kevmoo
2014/04/21 22:22:54
Done.
|
| +import 'game_element.dart'; |
| +import 'square_element.dart'; |
| + |
| +class BoardElement extends Sprite { |
| + Array2d<SquareElement> _elements; |
| + |
| + BoardElement(GameElement gameElement) { |
| + addTo(gameElement); |
| + |
| + _elements = new Array2d<SquareElement>( |
| + game.field.width, game.field.height); |
| + |
| + num scaledSize = SquareElement.SIZE * _boardScale; |
| + for (int i = 0; i < _elements.length; i++) { |
| + var coords = _elements.getCoordinate(i); |
| + var se = new SquareElement(coords.item1, coords.item2) |
| + ..x = coords.item1 * scaledSize |
| + ..y = coords.item2 * scaledSize |
| + ..scaleX = _boardScale |
| + ..scaleY = _boardScale |
| + ..addTo(this); |
| + |
| + _elements[i] = se; |
| + se.updateState(); |
| + } |
| + |
| + } |
| + |
| + GameElement get gameElement => parent; |
| + num get _boardScale => gameElement.boardScale; |
| + num get _boardSize => gameElement.boardSize; |
| + Array2d<SquareElement> get squares => _elements; |
| + Game get game => gameElement.game; |
| + Stage get _stage => gameElement.manager.stage; |
| + |
| + TextureAtlas get opaqueAtlas => |
| + gameElement.resourceManager.getTextureAtlas('opaque'); |
| +} |