summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/rooms/_walls.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/rooms/_walls.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_walls.js51
1 files changed, 47 insertions, 4 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
index f5ef6be..f2f395b 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
@@ -73,13 +73,56 @@
}
base.serialize = function(){
- return []
+ var data = []
+ base.list.forEach(function(wall){
+ data.push(wall.serialize())
+ })
+ return data
}
base.deserialize = function(walls_data){
- return []
- }
-
+ walls_data.forEach(function(wall_data){
+ if (! wall_data) { return }
+ var wall = base.lookup[ wall_data.id ]
+ wall.deserialize( wall_data )
+ })
+ },
+
+ base.setColor = {
+
+ wall: function(rgb){
+ var rgbaColor = rgba_string(rgb, app.defaults.wallOpacity)
+ Walls.colors.wall = rgb
+ Walls.forEach(function(wall){
+ wall.outline(rgbaColor, null)
+ })
+ },
+
+ outline: function(rgb){
+ var rgbColor = rgb_string(rgb)
+ Walls.colors.outline = rgb
+ Walls.forEach(function(wall){
+ wall.outline(null, rgbColor)
+ })
+ },
+
+ floor: function(rgb){
+ var rgbColor = rgb_string(rgb)
+ Walls.colors.floor = rgb
+ Rooms.forEach(function(room){
+ room.setFloorColor(rgbColor)
+ })
+ },
+
+ ceiling: function(rgb){
+ var rgbColor = rgb_string(rgb)
+ Walls.colors.ceiling = rgb
+ Rooms.forEach(function(room){
+ room.setCeilingColor(rgbColor)
+ })
+ },
+
+ }
}
if ('window' in this) {