Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1756)

Side by Side Diff: samples/pop_pop_win/lib/src/canvas/board_element.dart

Issue 242443008: samples/pop_pop_win: now based on StageXL (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: tiny nit Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 part of pop_pop_win.canvas;
2
3 class BoardElement extends ParentThing {
4 Array2d<SquareElement> _elements;
5
6 BoardElement(): super(0, 0) {
7 cacheEnabled = true;
8 }
9
10 int get visualChildCount {
11 if (_elements == null) {
12 return 0;
13 } else {
14 return _elements.length;
15 }
16 }
17
18 Thing getVisualChild(int index) {
19 return _elements[index];
20 }
21
22 void update() {
23 if (_game == null) {
24 _elements = null;
25 } else if(_elementsNeedUpdate) {
26 _elements = new Array2d<SquareElement>(
27 _game.field.width, _game.field.height);
28
29 for (int i = 0; i < _elements.length; i++) {
30 final coords = _elements.getCoordinate(i);
31 final se = new SquareElement(coords.item1, coords.item2);
32 se.registerParent(this);
33
34 _gameElement.wireSquareMouseEvent(se);
35
36 // position the square
37 final etx = se.addTransform();
38 etx.setToTranslation(coords.item1 * SquareElement._size,
39 coords.item2 * SquareElement._size);
40
41 _elements[i] = se;
42 }
43
44 size = new Size(_game.field.width * SquareElement._size,
45 _game.field.height * SquareElement._size);
46 }
47 super.update();
48 }
49
50 GameElement get _gameElement => (parent as CanvasThing).parent;
51
52 Game get _game => _gameElement._game;
53
54 bool get _elementsNeedUpdate {
55 assert(_game != null);
56 return _elements == null ||
57 _elements.width != _game.field.width ||
58 _elements.height != _game.field.height;
59 }
60
61 TextureData get _textureData => _gameElement._textureData;
62
63 }
OLDNEW
« no previous file with comments | « samples/pop_pop_win/lib/src/canvas.dart ('k') | samples/pop_pop_win/lib/src/canvas/game_audio.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698