summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/rooms/_rooms.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_rooms.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
index 46c1d7f..d4281ad 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
@@ -37,6 +37,7 @@
base.list = {}
base.regions = []
+ base.shapesMode = false
base.uid = new UidGenerator(base.list)
@@ -95,6 +96,7 @@
}
base.rebuild = function(walls_data){
+ if (base.shapesMode) return
walls_data = walls_data || Walls.serialize()
Rooms.clipper.update()
Rooms.builder.rebuild()
@@ -124,6 +126,36 @@
})
Rooms.rebuild(walls_data)
}
+
+ base.deserializeFromShapes = function(shapes_data, walls_data) {
+ 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()
+
+ regions.forEach(function(region){
+ var room = new Room({
+ rect: region,
+ regions: [region],
+ height: wallHeight,
+ })
+ room.sides = region.sides
+ region.id = Rooms.uid("room_")
+ Rooms.list[ region.id ] = room
+ Rooms.builder.build(region)
+ room.mx_floor = Rooms.builder.make_floor(room, region)
+ room.mx_ceiling = Rooms.builder.make_ceiling(room, region)
+ })
+
+ Rooms.grouper.build()
+
+ Walls.paint()
+ Walls.deserialize(walls_data)
+ app.tube("rooms-built")
+ }
base.report = function(){
var data = []