summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/scenery
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-08-20 18:55:11 -0400
committerJules Laplace <jules@okfoc.us>2014-08-20 18:55:11 -0400
commita48beac4e7e93f78ef7229b0b1e4776dc04cac92 (patch)
tree8c4db36a6da79ce87506642443c5e58edf12de8c /public/assets/javascripts/rectangles/engine/scenery
parent4f1d9a04ee6e598e93de298bd9c5081c68b9db92 (diff)
converting between position and mx coordinates
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/scenery')
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/_scenery.js4
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/_object.js16
2 files changed, 14 insertions, 6 deletions
diff --git a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
index b4a38f8..5d36b4f 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/_scenery.js
@@ -29,11 +29,11 @@ var Scenery = new function(){
return scene_media
}
- base.addNextToWall = function(wall, mx){
+ base.addNextToWall = function(wall, index){
base.add({
wall: wall,
media: base.nextMedia,
- mx: mx
+ index: index || 0,
})
base.nextMedia = null
return media
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/_object.js b/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
index 6bd5863..70d1d26 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/types/_object.js
@@ -10,9 +10,17 @@ Scenery.types.base = Fiber.extend(function(base){
this.media = opt.media
this.dimensions = new vec2(this.media.width, this.media.height)
this.scale = this.media.scale
+
+ this.scaleDimensions = this.dimensions.clone().mul(this.media.scale)
+ this.position = new vec2(0,0)
+ if (opt.data && opt.data.position) {
+ // position is the coordinate of one of the corners with respect to a
+ // wall surface
+ // subtract x/z offset of wall
+ }
if (opt.wall) {
- this.set_wall(opt.wall, opt.mx)
+ this.set_wall(opt.wall, index)
}
},
@@ -60,7 +68,7 @@ Scenery.types.base = Fiber.extend(function(base){
}
},
- set_wall: function(wall, mx){
+ set_wall: function(wall, index){
this.wall = wall || this.wall
// this.bounds = this.wall.bounds_for(this.media, this.scale)
// this.center = this.wall.center()
@@ -83,8 +91,8 @@ Scenery.types.base = Fiber.extend(function(base){
serialize: function(){
var data = {
id: this.id,
- wall_id: this.wall.id,
- side: this.wall.side,
+ wall_id: this.wall && this.wall.id,
+ side: this.wall && this.wall.side,
dimensions: this.dimensions.serialize(),
position: app.position(this.mx),
media: this.media,