entityjs 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
- };