summaryrefslogtreecommitdiff
path: root/public/assets/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts')
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_rooms.js13
-rw-r--r--public/assets/javascripts/rectangles/models/room.js4
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js15
-rw-r--r--public/assets/javascripts/ui/editor/EditorView.js2
4 files changed, 25 insertions, 9 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
index d4281ad..5c9945c 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
@@ -127,14 +127,16 @@
Rooms.rebuild(walls_data)
}
- base.deserializeFromShapes = function(shapes_data, walls_data) {
+ base.deserializeFromShapes = function(data, walls_data) {
+ walls_data = walls_data || Walls.serialize()
base.shapesMode = true
window.viewHeight = data.viewHeight || app.defaults.viewHeight
window.wallHeight = data.wallHeight || app.defaults.wallHeight
$(".units").val( data.units )
shapes.deserialize( data.shapes )
- shapes.build()
+ // shapes.build()
+ var regions = RegionList.build()
regions.forEach(function(region){
var room = new Room({
@@ -142,12 +144,17 @@
regions: [region],
height: wallHeight,
})
+
room.sides = region.sides
region.id = Rooms.uid("room_")
Rooms.list[ region.id ] = room
- Rooms.builder.build(region)
+ var mx_walls = Rooms.builder.build_walls(region)
room.mx_floor = Rooms.builder.make_floor(room, region)
room.mx_ceiling = Rooms.builder.make_ceiling(room, region)
+
+ mx_walls.forEach(function(mx){ scene.add(mx) })
+ scene.add(room.mx_floor)
+ scene.add(room.mx_ceiling)
})
Rooms.grouper.build()
diff --git a/public/assets/javascripts/rectangles/models/room.js b/public/assets/javascripts/rectangles/models/room.js
index 26bf055..0ef76e4 100644
--- a/public/assets/javascripts/rectangles/models/room.js
+++ b/public/assets/javascripts/rectangles/models/room.js
@@ -35,6 +35,10 @@
this.height = opt.height || 200
this.focused = false
+
+ this.mx_walls = []
+ this.mx_floor = []
+ this.mx_ceiling = []
}
Room.prototype.copy = function(){
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index 000852e..83bc8b7 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -41,11 +41,11 @@ var EditorSettings = FormView.extend({
this.action = data.isNew ? this.createAction : this.updateAction
this.parent.data = data
- if (data.rooms) {
- Rooms.deserialize(data.rooms, data.walls)
+ if (data.shapes) {
+ Rooms.deserializeFromShapes(data, data.walls)
}
- else if (data.shapes) {
- Rooms.deserializeFromShapes(data.shapes, data.walls)
+ else if (data.rooms) {
+ Rooms.deserialize(data.rooms, data.walls)
}
if (data.startPosition) {
scene.camera.move(data.startPosition)
@@ -194,7 +194,12 @@ var EditorSettings = FormView.extend({
fd.append( "description", this.$description.val() )
fd.append( "privacy", this.$privacy.filter(":checked").val() == "private" )
fd.append( "viewHeight", window.viewHeight )
- fd.append( "rooms", JSON.stringify( Rooms.serialize() ) )
+ if (Rooms.shapesMode) {
+ fd.append( "shapes", JSON.stringify( shapes.serialize() ) )
+ }
+ else {
+ fd.append( "rooms", JSON.stringify( Rooms.serialize() ) )
+ }
fd.append( "walls", JSON.stringify( Walls.serialize() ) )
fd.append( "colors", JSON.stringify( Walls.colors ) )
fd.append( "media", JSON.stringify( Scenery.serialize() ) )
diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js
index 879c963..c05b373 100644
--- a/public/assets/javascripts/ui/editor/EditorView.js
+++ b/public/assets/javascripts/ui/editor/EditorView.js
@@ -2,7 +2,7 @@
var EditorView = View.extend({
el: "#editorView",
- blueprintAction: "/api/blueprint/",
+ blueprintAction: "/api/blueprint/user/",
projectAction: "/api/project/",
layoutAction: "/api/layout/",