entityjs 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. data/.gitignore +7 -6
  2. data/.rspec +2 -0
  3. data/README.md +170 -49
  4. data/Rakefile +9 -0
  5. data/bin/entityjs +24 -14
  6. data/entityjs.gemspec +15 -9
  7. data/lib/entityjs/assets.rb +167 -0
  8. data/lib/entityjs/command.rb +52 -27
  9. data/lib/entityjs/commands/build.rb +128 -0
  10. data/lib/entityjs/commands/comp.rb +74 -0
  11. data/lib/entityjs/commands/font.rb +73 -0
  12. data/lib/entityjs/commands/new.rb +59 -0
  13. data/lib/entityjs/commands/server.rb +54 -0
  14. data/lib/entityjs/commands/templates.rb +28 -0
  15. data/lib/entityjs/commands/test.rb +69 -0
  16. data/lib/entityjs/config.rb +130 -0
  17. data/lib/entityjs/dirc.rb +184 -0
  18. data/lib/entityjs/parsers/parse_tmx.rb +41 -0
  19. data/lib/entityjs/parsers/parse_xml.rb +39 -0
  20. data/lib/entityjs/version.rb +1 -1
  21. data/lib/entityjs.rb +53 -0
  22. data/license.txt +1 -1
  23. data/public/play.html +122 -0
  24. data/public/qunit/qunit.css +226 -0
  25. data/public/qunit/qunit.entity.js +190 -0
  26. data/public/qunit/qunit.input.js +200 -0
  27. data/public/qunit/qunit.js +1598 -0
  28. data/public/qunit/qunit.mock.js +97 -0
  29. data/public/tests.html +45 -0
  30. data/spec/javascripts/helpers/accept.png +0 -0
  31. data/spec/javascripts/helpers/alligator.mp3 +0 -0
  32. data/spec/javascripts/helpers/alligator.ogg +0 -0
  33. data/spec/javascripts/helpers/canvas.js +15 -0
  34. data/spec/javascripts/helpers/entityunit.js +50 -0
  35. data/spec/javascripts/helpers/factories.js +11 -0
  36. data/spec/javascripts/helpers/jquery-1.7.1.min.js +4 -0
  37. data/spec/javascripts/src/core/comp_spec.js +145 -0
  38. data/spec/javascripts/src/core/entity_spec.js +324 -0
  39. data/spec/javascripts/src/core/load_spec.js +71 -0
  40. data/spec/javascripts/src/core/query_spec.js +157 -0
  41. data/spec/javascripts/src/core/re_spec.js +61 -0
  42. data/spec/javascripts/src/core/system_spec.js +41 -0
  43. data/spec/javascripts/src/cycle/draw_spec.js +106 -0
  44. data/spec/javascripts/src/cycle/tick_spec.js +20 -0
  45. data/spec/javascripts/src/cycle/update_spec.js +86 -0
  46. data/spec/javascripts/src/display/align_spec.js +43 -0
  47. data/spec/javascripts/src/display/circle_spec.js +26 -0
  48. data/spec/javascripts/src/display/group_spec.js +7 -0
  49. data/spec/javascripts/src/display/image_spec.js +32 -0
  50. data/spec/javascripts/src/display/imgtext_spec.js +32 -0
  51. data/spec/javascripts/src/display/rect_spec.js +13 -0
  52. data/spec/javascripts/src/display/screen_spec.js +47 -0
  53. data/spec/javascripts/src/display/sprite_spec.js +28 -0
  54. data/spec/javascripts/src/display/text_spec.js +30 -0
  55. data/spec/javascripts/src/input/keyboard_spec.js +67 -0
  56. data/spec/javascripts/src/input/mouse_spec.js +133 -0
  57. data/spec/javascripts/src/input/pressed_spec.js +31 -0
  58. data/spec/javascripts/src/math/bisect_spec.js +59 -0
  59. data/spec/javascripts/src/math/body_spec.js +30 -0
  60. data/spec/javascripts/src/math/drag_spec.js +38 -0
  61. data/spec/javascripts/src/math/force_spec.js +134 -0
  62. data/spec/javascripts/src/math/hit_spec.js +28 -0
  63. data/spec/javascripts/src/math/hitmap_spec.js +52 -0
  64. data/spec/javascripts/src/math/limit_spec.js +35 -0
  65. data/spec/javascripts/src/math/point_spec.js +57 -0
  66. data/spec/javascripts/src/math/tile_spec.js +78 -0
  67. data/spec/javascripts/src/media/sound_spec.js +40 -0
  68. data/spec/javascripts/src/pattern/automap_spec.js +93 -0
  69. data/spec/javascripts/src/pattern/flicker_spec.js +66 -0
  70. data/spec/javascripts/src/pattern/timestep_spec.js +23 -0
  71. data/spec/javascripts/src/save/storage_spec.js +37 -0
  72. data/spec/javascripts/src/util/log_spec.js +9 -0
  73. data/spec/javascripts/src/util/polyfill_spec.js +13 -0
  74. data/spec/javascripts/src/util/random_spec.js +33 -0
  75. data/spec/javascripts/src/util/scene_spec.js +52 -0
  76. data/spec/javascripts/src/util/sheet_spec.js +25 -0
  77. data/spec/javascripts/src/util/support_spec.js +17 -0
  78. data/spec/javascripts/support/jasmine.yml +76 -0
  79. data/spec/javascripts/support/jasmine_config.rb +32 -0
  80. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  81. data/spec/lib/entityjs/assets_spec.rb +216 -0
  82. data/spec/lib/entityjs/command_spec.rb +53 -0
  83. data/spec/lib/entityjs/commands/build_spec.rb +69 -0
  84. data/spec/lib/entityjs/commands/comp_spec.rb +45 -0
  85. data/spec/lib/entityjs/commands/font_spec.rb +7 -0
  86. data/spec/lib/entityjs/commands/new_spec.rb +20 -0
  87. data/spec/lib/entityjs/commands/templates_spec.rb +9 -0
  88. data/spec/lib/entityjs/commands/test_spec.rb +31 -0
  89. data/spec/lib/entityjs/config_spec.rb +19 -0
  90. data/spec/lib/entityjs/dirc_spec.rb +83 -0
  91. data/spec/lib/entityjs/version_spec.rb +9 -0
  92. data/spec/spec_helper.rb +21 -3
  93. data/spec/support/factories.rb +19 -0
  94. data/spec/support/mygame.rb +11 -0
  95. data/src/core/comp.js +318 -0
  96. data/src/core/entity.js +549 -0
  97. data/src/core/load.js +242 -0
  98. data/src/core/query.js +354 -0
  99. data/src/core/re.js +74 -0
  100. data/src/core/system.js +121 -0
  101. data/src/cycle/draw.js +178 -0
  102. data/src/cycle/tick.js +25 -0
  103. data/src/{entityjs/cycle → cycle}/tween.js +60 -60
  104. data/src/{entityjs/cycle → cycle}/update.js +86 -85
  105. data/src/{entityjs/cycle → cycle}/wait.js +22 -21
  106. data/src/{entityjs/cycle → cycle}/worker.js +8 -8
  107. data/src/display/align.js +45 -0
  108. data/src/display/circle.js +33 -0
  109. data/src/{entityjs/display → display}/group.js +62 -62
  110. data/src/display/image.js +35 -0
  111. data/src/display/imgtext.js +102 -0
  112. data/src/{entityjs/display → display}/rect.js +18 -18
  113. data/src/display/screen.js +57 -0
  114. data/src/display/sprite.js +54 -0
  115. data/src/display/text.js +44 -0
  116. data/src/{entityjs/input → input}/keyboard.js +152 -150
  117. data/src/input/mouse.js +111 -0
  118. data/src/input/pressed.js +41 -0
  119. data/src/{entityjs/input → input}/touch.js +24 -28
  120. data/src/math/bisect.js +84 -0
  121. data/src/math/body.js +70 -0
  122. data/src/{entityjs/math → math}/drag.js +44 -38
  123. data/src/math/force.js +143 -0
  124. data/src/math/hit.js +32 -0
  125. data/src/math/hitmap.js +167 -0
  126. data/src/math/limit.js +37 -0
  127. data/src/math/point.js +40 -0
  128. data/src/math/tile.js +109 -0
  129. data/src/media/channel.js +93 -0
  130. data/src/{entityjs/media → media}/playlist.js +4 -4
  131. data/src/media/sound.js +114 -0
  132. data/src/{entityjs/net → net}/socket.js +51 -51
  133. data/src/pattern/automap.js +133 -0
  134. data/src/{entityjs/pattern → pattern}/flicker.js +206 -213
  135. data/src/pattern/timestep.js +31 -0
  136. data/src/{entityjs/save → save}/database.js +6 -6
  137. data/src/{entityjs/save → save}/storage.js +47 -56
  138. data/src/{entityjs/util → util}/log.js +17 -25
  139. data/src/{entityjs/util → util}/polyfill.js +24 -24
  140. data/src/util/random.js +20 -0
  141. data/src/util/scene.js +102 -0
  142. data/src/util/sheet.js +35 -0
  143. data/src/{entityjs/util → util}/support.js +109 -132
  144. data/{examples/keys → templates/arrow_keys/assets/images}/arrow.png +0 -0
  145. data/templates/arrow_keys/config.yml +22 -0
  146. data/templates/arrow_keys/readme.txt +9 -0
  147. data/templates/arrow_keys/scripts/display/arrow.js +69 -0
  148. data/templates/arrow_keys/scripts/init.js +10 -0
  149. data/templates/arrow_keys/scripts/input/controls.js +35 -0
  150. data/templates/arrow_keys/scripts/scenes/home.js +20 -0
  151. data/templates/arrow_keys/scripts/scenes/load.js +57 -0
  152. data/templates/arrow_keys/tests/display/arrow_test.js +29 -0
  153. data/templates/arrow_keys/tests/init_test.js +4 -0
  154. data/templates/arrow_keys/tests/input/controls_test.js +32 -0
  155. data/templates/arrow_keys/tests/scenes/home_test.js +0 -0
  156. data/templates/arrow_keys/tests/scenes/load_test.js +16 -0
  157. data/templates/blank/config.yml +22 -0
  158. data/templates/blank/readme.txt +79 -0
  159. data/templates/platform/assets/images/bit.png +0 -0
  160. data/templates/platform/assets/images/hero.png +0 -0
  161. data/templates/platform/assets/images/items.png +0 -0
  162. data/templates/platform/assets/images/tiles.png +0 -0
  163. data/templates/platform/assets/levels/level1.tmx +44 -0
  164. data/templates/platform/assets/sounds/coin.mp3 +0 -0
  165. data/templates/platform/assets/sounds/coin.ogg +0 -0
  166. data/templates/platform/config.yml +22 -0
  167. data/templates/platform/readme.txt +87 -0
  168. data/templates/platform/scripts/display/bit.js +12 -0
  169. data/templates/platform/scripts/display/hero.js +77 -0
  170. data/templates/platform/scripts/display/tile.js +2 -0
  171. data/templates/platform/scripts/display/tsprite.js +17 -0
  172. data/templates/platform/scripts/init.js +7 -0
  173. data/templates/platform/scripts/items/coin.js +27 -0
  174. data/templates/platform/scripts/items/item.js +41 -0
  175. data/templates/platform/scripts/items/spring.js +25 -0
  176. data/templates/platform/scripts/scenes/home.js +10 -0
  177. data/templates/platform/scripts/scenes/load.js +27 -0
  178. data/templates/platform/scripts/scenes/play.js +31 -0
  179. data/templates/platform/scripts/util/counter.js +34 -0
  180. data/templates/platform/scripts/util/level.js +84 -0
  181. data/templates/platform/tests/display/bit_test.js +7 -0
  182. data/templates/platform/tests/display/hero_test.js +73 -0
  183. data/templates/platform/tests/display/tile_test.js +7 -0
  184. data/templates/platform/tests/display/tsprite_test.js +8 -0
  185. data/templates/platform/tests/factories.js +30 -0
  186. data/templates/platform/tests/items/coin_test.js +28 -0
  187. data/templates/platform/tests/items/item_test.js +36 -0
  188. data/templates/platform/tests/items/spring_test.js +21 -0
  189. data/templates/platform/tests/scenes/home_test.js +9 -0
  190. data/templates/platform/tests/scenes/load_test.js +11 -0
  191. data/templates/platform/tests/scenes/play_test.js +15 -0
  192. data/templates/platform/tests/util/counter_test.js +9 -0
  193. data/templates/platform/tests/util/level_test.js +29 -0
  194. metadata +249 -97
  195. data/build/build_debug.bat +0 -1
  196. data/build/build_min.bat +0 -1
  197. data/build/config.php +0 -64
  198. data/build/debug.php +0 -48
  199. data/build/files.php +0 -74
  200. data/build/jsmin.php +0 -376
  201. data/build/min.php +0 -50
  202. data/changelog.txt +0 -53
  203. data/examples/keys/keys.html +0 -59
  204. data/examples/keys/keys.js +0 -148
  205. data/examples/mouse/mouse.html +0 -58
  206. data/examples/mouse/mouse.js +0 -60
  207. data/examples/scenes/home.png +0 -0
  208. data/examples/scenes/scenes.html +0 -55
  209. data/examples/scenes/scenes.js +0 -134
  210. data/examples/scenes/win.png +0 -0
  211. data/examples/sounds/sound1.mp3 +0 -0
  212. data/examples/sounds/sound1.ogg +0 -0
  213. data/examples/sounds/sounds.html +0 -56
  214. data/examples/sounds/sounds.js +0 -44
  215. data/examples/style/background.png +0 -0
  216. data/examples/style/sheet.css +0 -762
  217. data/examples/tiles/tiles.html +0 -56
  218. data/examples/tiles/tiles.js +0 -85
  219. data/examples/tiles/tiles.png +0 -0
  220. data/lib/blank/config.js +0 -4
  221. data/lib/blank/config.yml +0 -21
  222. data/lib/blank/home.js +0 -11
  223. data/lib/blank/init.js +0 -7
  224. data/lib/blank/load.js +0 -21
  225. data/lib/blank/play.html +0 -29
  226. data/lib/entity.debug.js +0 -52
  227. data/lib/entity.min.js +0 -184
  228. data/lib/entityjs/comp.rb +0 -11
  229. data/lib/entityjs/game.rb +0 -93
  230. data/lib/entityjs/min.rb +0 -11
  231. data/lib/entityjs/refresh.rb +0 -14
  232. data/spec/lib/entityjs/game_spec.rb +0 -11
  233. data/src/entityjs/core/component.js +0 -306
  234. data/src/entityjs/core/entity.js +0 -516
  235. data/src/entityjs/core/load.js +0 -224
  236. data/src/entityjs/core/query.js +0 -410
  237. data/src/entityjs/core/re.js +0 -70
  238. data/src/entityjs/core/system.js +0 -125
  239. data/src/entityjs/cycle/draw.js +0 -185
  240. data/src/entityjs/cycle/ticker.js +0 -27
  241. data/src/entityjs/display/anchor.js +0 -53
  242. data/src/entityjs/display/bitfont.js +0 -93
  243. data/src/entityjs/display/bitmap.js +0 -37
  244. data/src/entityjs/display/circle.js +0 -30
  245. data/src/entityjs/display/font.js +0 -41
  246. data/src/entityjs/display/screen.js +0 -46
  247. data/src/entityjs/display/sprite.js +0 -37
  248. data/src/entityjs/input/mouse.js +0 -123
  249. data/src/entityjs/input/pressed.js +0 -81
  250. data/src/entityjs/math/bind.js +0 -76
  251. data/src/entityjs/math/bisect.js +0 -69
  252. data/src/entityjs/math/body.js +0 -39
  253. data/src/entityjs/math/hitmap.js +0 -165
  254. data/src/entityjs/math/hittest.js +0 -26
  255. data/src/entityjs/math/physics.js +0 -142
  256. data/src/entityjs/math/point.js +0 -57
  257. data/src/entityjs/math/tile.js +0 -91
  258. data/src/entityjs/media/channel.js +0 -93
  259. data/src/entityjs/media/sound.js +0 -110
  260. data/src/entityjs/pattern/arraymap.js +0 -89
  261. data/src/entityjs/pattern/timestep.js +0 -34
  262. data/src/entityjs/util/random.js +0 -38
  263. data/src/entityjs/util/scene.js +0 -101
  264. data/src/entityjs/util/sheet.js +0 -51
@@ -0,0 +1,114 @@
1
+ /*
2
+ The sound component utilizes the new HTML5 to play sound effects in the web browser.
3
+ It is reccommended to load two sound codecs OGG and AAC because not every browser supports
4
+ all sound codecs at this time.
5
+
6
+ //load a sound
7
+ re.load('run.ogg run.aac');
8
+ //BAD this will load both sounds. Even if the browser doesn't support one
9
+
10
+ //GOOD. load just one codec of the sound
11
+ var codec;
12
+ if(re.support('ogg')){
13
+ codec = 'ogg';
14
+ } else if(re.support('aac')){
15
+ codec = 'aac';
16
+ }
17
+
18
+ re.load('run.'+codec');
19
+
20
+ //create sound
21
+ re.e('sound run.'+codec);
22
+
23
+ //that is a pain, so a helper method has been created
24
+ re('sound run.'+re.support('ogg', 'aac'));
25
+
26
+ Its recomended to save the supported codec somewhere
27
+ //like so...
28
+ re.codec = re.support('ogg', 'aac');
29
+
30
+ re.load('run.'+re.codec);
31
+
32
+ re.e('run.'+re.codec);
33
+
34
+ WARNING: Because the sound component has generic
35
+ method names stop, play, watchout for overwrites.
36
+
37
+ Sound Tip
38
+ //find all sounds in game and play them!
39
+ re('sound').method('play');
40
+
41
+ *note: A sound only only has one channel and cannot be played multiple times at once.
42
+ This will be fixed with the channel component.
43
+
44
+ */
45
+ re.sound = re.c('sound')
46
+ .statics({
47
+
48
+ enabled:true
49
+
50
+ })
51
+ .defaults({
52
+ playing:false
53
+ })
54
+ .namespaces({
55
+ e:false,
56
+
57
+ ended:function(){
58
+
59
+ this.trigger('sound:end');
60
+
61
+ this.currentTime = 0
62
+ }
63
+
64
+ })
65
+ .defines({
66
+
67
+ play:function(){
68
+ if(!this._sound || !re.sound.enabled) return this;
69
+ if(this.playing) this.stop();
70
+
71
+ var c = this._sound;
72
+ var that = this;
73
+
74
+ c.currentTime = 0;
75
+
76
+ if(!this.sound_e){
77
+ this.sound_e = true;
78
+ var f = function(){
79
+ that.sound_ended();
80
+ c.removeEventListener('ended', f);
81
+ that.sound_e = false;
82
+ };
83
+
84
+ c.addEventListener('ended', f, false);
85
+
86
+ }
87
+
88
+ c.play();
89
+ return this;
90
+ },
91
+
92
+ resume:function(){
93
+ this._sound.play();
94
+ this.playing = true;
95
+
96
+ return this;
97
+ },
98
+
99
+ pause:function(){
100
+ this._sound.pause();
101
+ this.playing = false;
102
+
103
+ return this;
104
+ },
105
+
106
+ currentTime:function(){
107
+ return this._sound.currentTime;
108
+ },
109
+
110
+ ended:function(){
111
+ return this._sound.ended;
112
+ }
113
+
114
+ });
@@ -1,52 +1,52 @@
1
- /*
2
- The socket component is an interface for the new HTML5 websockets.
3
-
4
- Its safe to use this abstraction incase specs change in the future.
5
-
6
- */
7
- re.c('socket')
8
- .extend({
9
-
10
- connect:function(address){
11
-
12
- this.socket = new WebSocket(address);
13
-
14
- },
15
-
16
- close:function(){
17
- if(!this.socket) return this;
18
-
19
- this.socket.close();
20
-
21
- return this;
22
- },
23
-
24
- open:function(callback){
25
- if(!this.socket) return this;
26
-
27
- this.socket.onopen = callback;
28
-
29
- },
30
-
31
- error:function(callback){
32
- if(!this.socket) return this;
33
-
34
- this.socket.onerror = callback;
35
-
36
- },
37
-
38
- message:function(callback){
39
- if(!this.socket) return this;
40
-
41
- this.socket.onmessage = callback;
42
-
43
- },
44
-
45
- send:function(){
46
- if(!this.socket) return this;
47
-
48
- this.socket.send.apply(this.socket, arguments);
49
-
50
- }
51
-
1
+ /*
2
+ The socket component is an interface for the new HTML5 websockets.
3
+
4
+ Its safe to use this abstraction incase specs change in the future.
5
+
6
+ */
7
+ re.c('socket')
8
+ .defines({
9
+
10
+ connect:function(address){
11
+
12
+ this.socket = new WebSocket(address);
13
+
14
+ },
15
+
16
+ close:function(){
17
+ if(!this.socket) return this;
18
+
19
+ this.socket.close();
20
+
21
+ return this;
22
+ },
23
+
24
+ open:function(callback){
25
+ if(!this.socket) return this;
26
+
27
+ this.socket.onopen = callback;
28
+
29
+ },
30
+
31
+ error:function(callback){
32
+ if(!this.socket) return this;
33
+
34
+ this.socket.onerror = callback;
35
+
36
+ },
37
+
38
+ message:function(callback){
39
+ if(!this.socket) return this;
40
+
41
+ this.socket.onmessage = callback;
42
+
43
+ },
44
+
45
+ send:function(){
46
+ if(!this.socket) return this;
47
+
48
+ this.socket.send.apply(this.socket, arguments);
49
+
50
+ }
51
+
52
52
  });
@@ -0,0 +1,133 @@
1
+ /*
2
+ The automap component creates an auto expandable two-dimensional array.
3
+
4
+ @usage
5
+
6
+ var map = re.e('automap');
7
+
8
+ //set
9
+ //x = 0, y = 10, value = 10
10
+ map.automap(0, 10, 10)
11
+
12
+ //get
13
+ map.automap(0, 10) // 10
14
+
15
+ var level =
16
+ [
17
+ [0,1,2,3,5,5],
18
+ [2,3,4,5,6,4]
19
+ ]
20
+
21
+ //value copy
22
+ map.automap(level)
23
+
24
+ map.automap(0, 1) // 1
25
+
26
+ //reference copy
27
+ map.automap(level, true)
28
+
29
+ map.map == level //true
30
+
31
+ //length
32
+ map.lenX
33
+ map.lenY
34
+
35
+ */
36
+ re.c('automap')
37
+ .defaults({
38
+ lenX:0,
39
+ lenY:0
40
+ })
41
+ .defines({
42
+ value:0,
43
+
44
+ automap:function(x, y, value){
45
+ if(re.is(x, 'array')){
46
+
47
+ if(y){
48
+ //non-deep copy
49
+
50
+ this.map = x;
51
+
52
+ if(x.length > 0){
53
+ this.lenX = x[0].length;
54
+ } else {
55
+ this.lenX = 0;
56
+ }
57
+
58
+ this.lenY = x.length;
59
+
60
+ } else {
61
+
62
+ //deep copy
63
+ for(var y=0; y<x.length; y++){
64
+ for(var k=0; k<x[0].length; k++){
65
+ this.automap(k, y, x[y][k]);
66
+ }
67
+ }
68
+ }
69
+
70
+ return this;
71
+ }
72
+
73
+ if(!re.is(value)){
74
+ if(this.within(x,y)){
75
+ return this.map[y][x];
76
+ }
77
+ return null;
78
+ }
79
+
80
+ //increate y length
81
+ while(y >= this.map.length){
82
+ var m = new Array(this.map[0]);
83
+
84
+ for(var l in m){
85
+ m[l] = this.value;
86
+ }
87
+
88
+ this.map.push(m);
89
+
90
+ }
91
+
92
+ //increase x length
93
+ while(x >= this.map[this.map.length-1].length){
94
+
95
+ for(var k=0; k<this.map.length; k++){
96
+ if(this.map[k].length <= x){
97
+ this.map[k].push(this.value);
98
+ }
99
+ }
100
+
101
+ }
102
+
103
+ this.lenX = this.map[y].length;
104
+ this.lenY = this.map.length;
105
+
106
+ this.map[y][x] = value;
107
+
108
+ return this;
109
+ },
110
+
111
+ within:function(x, y){
112
+
113
+ if(y < 0 || y >= this.lenY || x < 0 || x >= this.lenX){
114
+ return false;
115
+ }
116
+ return true;
117
+ },
118
+
119
+ copy:function(a){
120
+
121
+ return this;
122
+ },
123
+
124
+ copyByRef:function(m){
125
+
126
+
127
+ return this;
128
+ }
129
+
130
+ })
131
+ .init(function(){
132
+ this.map = [];
133
+ });