summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/rooms/_walls.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-10-07 19:22:42 -0400
committerJules Laplace <jules@okfoc.us>2014-10-07 19:22:42 -0400
commitd6d78ddf16e9cb6555e92089dfa77ba5648f686b (patch)
treed9e62fa1bdf07cf60fdccfec4cf599e42be9a001 /public/assets/javascripts/rectangles/engine/rooms/_walls.js
parent009205d55b7f04d2a08064a844e5e2b731fff7d8 (diff)
parentc2e2334328256fa0409341692284f25f3167ab30 (diff)
merge
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/rooms/_walls.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_walls.js36
1 files changed, 30 insertions, 6 deletions
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_walls.js b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
index f0cd558..5ff53fe 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_walls.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_walls.js
@@ -35,6 +35,7 @@
var base = this
base.list = []
+ base.floors = []
base.lookup = {}
base.colors = {}
@@ -57,11 +58,21 @@
base.lookup[wall.id] = wall
})
}
+
+ base.assignFloors = function(floors){
+ base.floors = floors
+ floors.forEach(function(floor){
+ base.lookup[floor.id] = floor
+ })
+ }
base.bind = function(){
base.list.forEach(function(wall){
wall.bind()
})
+ base.floors.forEach(function(floor){
+ floor.bind()
+ })
}
base.count = function(){
@@ -69,16 +80,20 @@
}
base.forEach = function(f){
- return base.list.forEach(f)
+ return base.values().forEach(f)
}
base.map = function(f){
- return base.list.map(f)
+ return base.values().map(f)
+ }
+
+ base.values = function(){
+ return _.values(base.lookup)
}
base.serialize = function(){
var data = []
- base.list.forEach(function(wall){
+ base.forEach(function(wall){
data.push(wall.serialize())
})
return data
@@ -97,7 +112,7 @@
var outlineColor = rgb_string(Walls.colors.outline)
var floorColor = rgb_string(Walls.colors.floor)
var ceilingColor = rgb_string(Walls.colors.ceiling)
- Walls.forEach(function(wall){
+ Walls.list.forEach(function(wall){
wall.outline(wallColor, outlineColor)
})
Rooms.forEach(function(room){
@@ -110,8 +125,17 @@
wall: function(rgb){
var rgbaColor = rgba_string(rgb, app.defaults.wallOpacity)
+ var rgbColor = rgb_string(rgb)
+
+ var rgb_max = Math.max.apply(0, rgb)
+ var rgb_min = Math.min.apply(255, rgb)
+ var luminance = (rgb_max + rgb_min ) / 2
+
+ $("#header").toggleClass("black", luminance < 128)
+ $("body").css("background-color", rgbColor)
+
Walls.colors.wall = rgb
- Walls.forEach(function(wall){
+ Walls.list.forEach(function(wall){
wall.outline(rgbaColor, null)
})
},
@@ -119,7 +143,7 @@
outline: function(rgb){
var rgbColor = rgb_string(rgb)
Walls.colors.outline = rgb
- Walls.forEach(function(wall){
+ Walls.list.forEach(function(wall){
wall.outline(null, rgbColor)
})
},