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.
- data/.gitignore +1 -1
- data/lib/entityjs/config.rb +4 -4
- data/lib/entityjs/dirc.rb +2 -2
- data/lib/entityjs/page.rb +7 -1
- data/lib/entityjs/version.rb +1 -1
- data/public/qunit/qunit.entity.js +27 -12
- data/spec/javascripts/src/core/comp_spec.js +11 -0
- data/spec/javascripts/src/core/entity_spec.js +88 -5
- data/spec/javascripts/src/core/query_spec.js +196 -15
- data/spec/javascripts/src/cycle/drawlist_spec.js +36 -0
- data/spec/javascripts/src/cycle/tween_spec.js +1 -1
- data/spec/javascripts/src/cycle/wait_spec.js +31 -0
- data/spec/javascripts/src/{cycle → display}/draw_spec.js +25 -9
- data/spec/javascripts/src/display/sprite_spec.js +18 -0
- data/spec/javascripts/src/display/text_spec.js +8 -0
- data/spec/javascripts/src/input/mouse_spec.js +24 -36
- data/spec/javascripts/src/math/bisect_spec.js +4 -4
- data/spec/javascripts/src/math/distance_spec.js +11 -0
- data/spec/javascripts/src/math/iso_spec.js +131 -0
- data/spec/javascripts/src/math/point_spec.js +3 -3
- data/spec/javascripts/src/{util → math}/random_spec.js +0 -0
- data/spec/javascripts/src/math/range_spec.js +9 -0
- data/spec/javascripts/src/math/tile_spec.js +22 -7
- data/spec/javascripts/src/pattern/automap_spec.js +2 -2
- data/spec/javascripts/src/pattern/flicker_spec.js +34 -22
- data/spec/javascripts/src/pattern/pathfind_spec.js +55 -0
- data/src/core/comp.js +16 -16
- data/src/core/entity.js +52 -51
- data/src/core/load.js +5 -5
- data/src/core/query.js +214 -74
- data/src/core/system.js +16 -6
- data/src/cycle/drawlist.js +79 -0
- data/src/cycle/tween.js +7 -20
- data/src/cycle/wait.js +10 -19
- data/src/{cycle → display}/draw.js +24 -34
- data/src/display/image.js +1 -1
- data/src/display/screen.js +3 -3
- data/src/display/sprite.js +3 -3
- data/src/display/text.js +3 -1
- data/src/input/mouse.js +35 -12
- data/src/math/bisect.js +11 -10
- data/src/math/distance.js +7 -0
- data/src/math/iso.js +147 -0
- data/src/math/point.js +1 -5
- data/src/math/random.js +21 -0
- data/src/math/range.js +14 -0
- data/src/math/tile.js +40 -27
- data/src/pattern/automap.js +12 -11
- data/src/pattern/flicker.js +87 -135
- data/src/pattern/pathfind.js +168 -0
- data/src/pattern/timestep.js +4 -1
- data/src/util/polyfill.js +1 -1
- data/templates/isometric/assets/images/isotiles.png +0 -0
- data/templates/isometric/config.yml +22 -0
- data/templates/isometric/readme.txt +79 -0
- data/templates/isometric/scripts/displays/cursor.js +34 -0
- data/templates/isometric/scripts/displays/isoimage.js +32 -0
- data/templates/isometric/scripts/init.js +7 -0
- data/templates/isometric/scripts/levels/level.js +55 -0
- data/templates/isometric/scripts/levels/level1.js +11 -0
- data/templates/isometric/scripts/scenes/home.js +10 -0
- data/templates/isometric/scripts/scenes/load.js +11 -0
- data/templates/isometric/tests/scenes/load_test.js +15 -0
- metadata +42 -21
- data/src/net/socket.js +0 -52
- data/src/util/random.js +0 -24
    
        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. | 
| 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- | 
| 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: & | 
| 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: * | 
| 24 | 
            +
              version_requirements: *17728680
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: jasmine
         | 
| 27 | 
            -
              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: * | 
| 35 | 
            +
              version_requirements: *17727980
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: sinatra
         | 
| 38 | 
            -
              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: * | 
| 46 | 
            +
              version_requirements: *17727440
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: coffee-script
         | 
| 49 | 
            -
              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: * | 
| 57 | 
            +
              version_requirements: *17726720
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: uglifier
         | 
| 60 | 
            -
              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: * | 
| 68 | 
            +
              version_requirements: *17725900
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: json
         | 
| 71 | 
            -
              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: * | 
| 79 | 
            +
              version_requirements: *17725400
         | 
| 80 80 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 81 81 | 
             
              name: cobravsmongoose
         | 
| 82 | 
            -
              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: * | 
| 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/ | 
| 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/ | 
| 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 | 
            -
            };
         |