entityjs 0.3.2 → 0.4.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 (66) hide show
  1. data/.gitignore +1 -1
  2. data/lib/entityjs/config.rb +4 -4
  3. data/lib/entityjs/dirc.rb +2 -2
  4. data/lib/entityjs/page.rb +7 -1
  5. data/lib/entityjs/version.rb +1 -1
  6. data/public/qunit/qunit.entity.js +27 -12
  7. data/spec/javascripts/src/core/comp_spec.js +11 -0
  8. data/spec/javascripts/src/core/entity_spec.js +88 -5
  9. data/spec/javascripts/src/core/query_spec.js +196 -15
  10. data/spec/javascripts/src/cycle/drawlist_spec.js +36 -0
  11. data/spec/javascripts/src/cycle/tween_spec.js +1 -1
  12. data/spec/javascripts/src/cycle/wait_spec.js +31 -0
  13. data/spec/javascripts/src/{cycle → display}/draw_spec.js +25 -9
  14. data/spec/javascripts/src/display/sprite_spec.js +18 -0
  15. data/spec/javascripts/src/display/text_spec.js +8 -0
  16. data/spec/javascripts/src/input/mouse_spec.js +24 -36
  17. data/spec/javascripts/src/math/bisect_spec.js +4 -4
  18. data/spec/javascripts/src/math/distance_spec.js +11 -0
  19. data/spec/javascripts/src/math/iso_spec.js +131 -0
  20. data/spec/javascripts/src/math/point_spec.js +3 -3
  21. data/spec/javascripts/src/{util → math}/random_spec.js +0 -0
  22. data/spec/javascripts/src/math/range_spec.js +9 -0
  23. data/spec/javascripts/src/math/tile_spec.js +22 -7
  24. data/spec/javascripts/src/pattern/automap_spec.js +2 -2
  25. data/spec/javascripts/src/pattern/flicker_spec.js +34 -22
  26. data/spec/javascripts/src/pattern/pathfind_spec.js +55 -0
  27. data/src/core/comp.js +16 -16
  28. data/src/core/entity.js +52 -51
  29. data/src/core/load.js +5 -5
  30. data/src/core/query.js +214 -74
  31. data/src/core/system.js +16 -6
  32. data/src/cycle/drawlist.js +79 -0
  33. data/src/cycle/tween.js +7 -20
  34. data/src/cycle/wait.js +10 -19
  35. data/src/{cycle → display}/draw.js +24 -34
  36. data/src/display/image.js +1 -1
  37. data/src/display/screen.js +3 -3
  38. data/src/display/sprite.js +3 -3
  39. data/src/display/text.js +3 -1
  40. data/src/input/mouse.js +35 -12
  41. data/src/math/bisect.js +11 -10
  42. data/src/math/distance.js +7 -0
  43. data/src/math/iso.js +147 -0
  44. data/src/math/point.js +1 -5
  45. data/src/math/random.js +21 -0
  46. data/src/math/range.js +14 -0
  47. data/src/math/tile.js +40 -27
  48. data/src/pattern/automap.js +12 -11
  49. data/src/pattern/flicker.js +87 -135
  50. data/src/pattern/pathfind.js +168 -0
  51. data/src/pattern/timestep.js +4 -1
  52. data/src/util/polyfill.js +1 -1
  53. data/templates/isometric/assets/images/isotiles.png +0 -0
  54. data/templates/isometric/config.yml +22 -0
  55. data/templates/isometric/readme.txt +79 -0
  56. data/templates/isometric/scripts/displays/cursor.js +34 -0
  57. data/templates/isometric/scripts/displays/isoimage.js +32 -0
  58. data/templates/isometric/scripts/init.js +7 -0
  59. data/templates/isometric/scripts/levels/level.js +55 -0
  60. data/templates/isometric/scripts/levels/level1.js +11 -0
  61. data/templates/isometric/scripts/scenes/home.js +10 -0
  62. data/templates/isometric/scripts/scenes/load.js +11 -0
  63. data/templates/isometric/tests/scenes/load_test.js +15 -0
  64. metadata +42 -21
  65. data/src/net/socket.js +0 -52
  66. data/src/util/random.js +0 -24
@@ -0,0 +1,10 @@
1
+ re.scene('home')
2
+ .enter(function(){
3
+
4
+ re.currentLevel = re('level')[0];
5
+
6
+ re.currentLevel.setup();
7
+
8
+ re.screen.pos(-200, -120);
9
+
10
+ });
@@ -0,0 +1,11 @@
1
+ re.scene('load')
2
+ .enter(function(){
3
+
4
+ re.load(re.assets)
5
+ .complete(function(){
6
+
7
+ re.scene('home').enter();
8
+
9
+ });
10
+
11
+ });
@@ -0,0 +1,15 @@
1
+ module('scenes/load');
2
+
3
+ test('load stuff', function(){
4
+
5
+ stop();
6
+
7
+ stub(re.scene('home'), 'enter', function(){
8
+ start();
9
+ });
10
+
11
+ re.scene('load').enter();
12
+
13
+
14
+ expect(0);
15
+ });
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: entityjs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-23 00:00:00.000000000 Z
12
+ date: 2012-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &8639040 !ruby/object:Gem::Requirement
16
+ requirement: &17728680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *8639040
24
+ version_requirements: *17728680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jasmine
27
- requirement: &8638620 !ruby/object:Gem::Requirement
27
+ requirement: &17727980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *8638620
35
+ version_requirements: *17727980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sinatra
38
- requirement: &8638200 !ruby/object:Gem::Requirement
38
+ requirement: &17727440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *8638200
46
+ version_requirements: *17727440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: coffee-script
49
- requirement: &8637780 !ruby/object:Gem::Requirement
49
+ requirement: &17726720 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *8637780
57
+ version_requirements: *17726720
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: uglifier
60
- requirement: &8637360 !ruby/object:Gem::Requirement
60
+ requirement: &17725900 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *8637360
68
+ version_requirements: *17725900
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: json
71
- requirement: &8636940 !ruby/object:Gem::Requirement
71
+ requirement: &17725400 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *8636940
79
+ version_requirements: *17725400
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: cobravsmongoose
82
- requirement: &8636520 !ruby/object:Gem::Requirement
82
+ requirement: &17724880 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *8636520
90
+ version_requirements: *17724880
91
91
  description: HTML5 Javascript game engine, quickly create robust, flexible and reusable
92
92
  games.
93
93
  email:
@@ -150,12 +150,14 @@ files:
150
150
  - spec/javascripts/src/core/query_spec.js
151
151
  - spec/javascripts/src/core/re_spec.js
152
152
  - spec/javascripts/src/core/system_spec.js
153
- - spec/javascripts/src/cycle/draw_spec.js
153
+ - spec/javascripts/src/cycle/drawlist_spec.js
154
154
  - spec/javascripts/src/cycle/tick_spec.js
155
155
  - spec/javascripts/src/cycle/tween_spec.js
156
156
  - spec/javascripts/src/cycle/update_spec.js
157
+ - spec/javascripts/src/cycle/wait_spec.js
157
158
  - spec/javascripts/src/display/align_spec.js
158
159
  - spec/javascripts/src/display/circle_spec.js
160
+ - spec/javascripts/src/display/draw_spec.js
159
161
  - spec/javascripts/src/display/group_spec.js
160
162
  - spec/javascripts/src/display/image_spec.js
161
163
  - spec/javascripts/src/display/imgtext_spec.js
@@ -169,21 +171,25 @@ files:
169
171
  - spec/javascripts/src/input/preventdefault_spec.js
170
172
  - spec/javascripts/src/math/bisect_spec.js
171
173
  - spec/javascripts/src/math/body_spec.js
174
+ - spec/javascripts/src/math/distance_spec.js
172
175
  - spec/javascripts/src/math/drag_spec.js
173
176
  - spec/javascripts/src/math/force_spec.js
174
177
  - spec/javascripts/src/math/hit_spec.js
175
178
  - spec/javascripts/src/math/hitmap_spec.js
179
+ - spec/javascripts/src/math/iso_spec.js
176
180
  - spec/javascripts/src/math/limit_spec.js
177
181
  - spec/javascripts/src/math/point_spec.js
182
+ - spec/javascripts/src/math/random_spec.js
183
+ - spec/javascripts/src/math/range_spec.js
178
184
  - spec/javascripts/src/math/tile_spec.js
179
185
  - spec/javascripts/src/media/sound_spec.js
180
186
  - spec/javascripts/src/pattern/automap_spec.js
181
187
  - spec/javascripts/src/pattern/flicker_spec.js
188
+ - spec/javascripts/src/pattern/pathfind_spec.js
182
189
  - spec/javascripts/src/pattern/timestep_spec.js
183
190
  - spec/javascripts/src/save/storage_spec.js
184
191
  - spec/javascripts/src/util/log_spec.js
185
192
  - spec/javascripts/src/util/polyfill_spec.js
186
- - spec/javascripts/src/util/random_spec.js
187
193
  - spec/javascripts/src/util/scene_spec.js
188
194
  - spec/javascripts/src/util/sheet_spec.js
189
195
  - spec/javascripts/src/util/support_spec.js
@@ -214,7 +220,7 @@ files:
214
220
  - src/core/query.js
215
221
  - src/core/re.js
216
222
  - src/core/system.js
217
- - src/cycle/draw.js
223
+ - src/cycle/drawlist.js
218
224
  - src/cycle/tick.js
219
225
  - src/cycle/tween.js
220
226
  - src/cycle/update.js
@@ -222,6 +228,7 @@ files:
222
228
  - src/cycle/worker.js
223
229
  - src/display/align.js
224
230
  - src/display/circle.js
231
+ - src/display/draw.js
225
232
  - src/display/group.js
226
233
  - src/display/image.js
227
234
  - src/display/imgtext.js
@@ -236,25 +243,28 @@ files:
236
243
  - src/input/touch.js
237
244
  - src/math/bisect.js
238
245
  - src/math/body.js
246
+ - src/math/distance.js
239
247
  - src/math/drag.js
240
248
  - src/math/force.js
241
249
  - src/math/hit.js
242
250
  - src/math/hitmap.js
251
+ - src/math/iso.js
243
252
  - src/math/limit.js
244
253
  - src/math/point.js
254
+ - src/math/random.js
255
+ - src/math/range.js
245
256
  - src/math/tile.js
246
257
  - src/media/channel.js
247
258
  - src/media/playlist.js
248
259
  - src/media/sound.js
249
- - src/net/socket.js
250
260
  - src/pattern/automap.js
251
261
  - src/pattern/flicker.js
262
+ - src/pattern/pathfind.js
252
263
  - src/pattern/timestep.js
253
264
  - src/save/database.js
254
265
  - src/save/storage.js
255
266
  - src/util/log.js
256
267
  - src/util/polyfill.js
257
- - src/util/random.js
258
268
  - src/util/scene.js
259
269
  - src/util/sheet.js
260
270
  - src/util/support.js
@@ -278,6 +288,17 @@ files:
278
288
  - templates/circle/scripts/scenes/load.js
279
289
  - templates/circle/tests/scenes/home_test.js
280
290
  - templates/circle/tests/scenes/load_test.js
291
+ - templates/isometric/assets/images/isotiles.png
292
+ - templates/isometric/config.yml
293
+ - templates/isometric/readme.txt
294
+ - templates/isometric/scripts/displays/cursor.js
295
+ - templates/isometric/scripts/displays/isoimage.js
296
+ - templates/isometric/scripts/init.js
297
+ - templates/isometric/scripts/levels/level.js
298
+ - templates/isometric/scripts/levels/level1.js
299
+ - templates/isometric/scripts/scenes/home.js
300
+ - templates/isometric/scripts/scenes/load.js
301
+ - templates/isometric/tests/scenes/load_test.js
281
302
  - templates/platform/assets/images/bit.png
282
303
  - templates/platform/assets/images/hero.png
283
304
  - templates/platform/assets/images/items.png
data/src/net/socket.js DELETED
@@ -1,52 +0,0 @@
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
- });
data/src/util/random.js DELETED
@@ -1,24 +0,0 @@
1
- /*
2
- The random component implements two helper methods for calculating random numbers.
3
-
4
-
5
- re.random() // 0 - 1
6
- re.random(10) // 0 - 9
7
- re.random(10, 30) // 10 - 30
8
- re.random([1, 10, 40]) // 1 or 10 or 40
9
-
10
- */
11
- re.random = function(max, min){
12
- if(re.is(max, 'array')){
13
- return max[Math.random() * max.length | 0];
14
- }
15
- var r = Math.random();
16
- switch(arguments.length){
17
- case 0:
18
- return r;
19
- case 1:
20
- return r * max;
21
- case 2:
22
- return r * (max - min + 1) + min;
23
- }
24
- };