summaryrefslogtreecommitdiff
path: root/public/assets/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts')
-rw-r--r--public/assets/javascripts/mx/extensions/mx.movements.js12
-rw-r--r--public/assets/javascripts/rectangles/engine/map/ui_minimap.js2
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_walls.js36
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/clipper.js2
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/grouper.js21
-rw-r--r--public/assets/javascripts/rectangles/models/floor.js149
-rw-r--r--public/assets/javascripts/rectangles/models/room.js2
-rw-r--r--public/assets/javascripts/rectangles/models/wall.js91
-rw-r--r--public/assets/javascripts/rectangles/util/constants.js3
-rw-r--r--public/assets/javascripts/ui/editor/EditorView.js5
-rw-r--r--public/assets/javascripts/ui/editor/LightControl.js34
-rw-r--r--public/assets/javascripts/ui/editor/TextEditor.js5
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js57
-rw-r--r--public/assets/javascripts/ui/reader/MediaPlayer.js4
-rw-r--r--public/assets/javascripts/ui/reader/ReaderView.js4
15 files changed, 389 insertions, 38 deletions
diff --git a/public/assets/javascripts/mx/extensions/mx.movements.js b/public/assets/javascripts/mx/extensions/mx.movements.js
index 4627cd3..065c93b 100644
--- a/public/assets/javascripts/mx/extensions/mx.movements.js
+++ b/public/assets/javascripts/mx/extensions/mx.movements.js
@@ -16,8 +16,8 @@ MX.Movements = function (cam) {
creeping = false,
locked = false,
gravity = false,
- rotationX_min = PI/-2,
- rotationX_max = PI/2
+ rotationX_min = PI/-4,
+ rotationX_max = PI/6
var v = 12,
vr = Math.PI * 0.012,
@@ -51,7 +51,6 @@ MX.Movements = function (cam) {
moveForward = true
break
- case 37: // left
case 65: // a
moveLeft = true
break
@@ -61,15 +60,16 @@ MX.Movements = function (cam) {
moveBackward = true
break
- case 39: // right
case 68: // d
moveRight = true
break
+ case 37: // left
case 81: // q
turnLeft = true
break
+ case 39: // right
case 69: // e
turnRight = true
break
@@ -132,7 +132,6 @@ MX.Movements = function (cam) {
moveForward = false
break
- case 37: // left
case 65: // a
moveLeft = false
break
@@ -142,15 +141,16 @@ MX.Movements = function (cam) {
moveBackward = false
break
- case 39: // right
case 68: // d
moveRight = false
break
+ case 37: // left
case 81: // q
turnLeft = false
break
+ case 39: // right
case 69: // e
turnRight = false
break
diff --git a/public/assets/javascripts/rectangles/engine/map/ui_minimap.js b/public/assets/javascripts/rectangles/engine/map/ui_minimap.js
index fabbdb9..d7280b9 100644
--- a/public/assets/javascripts/rectangles/engine/map/ui_minimap.js
+++ b/public/assets/javascripts/rectangles/engine/map/ui_minimap.js
@@ -7,6 +7,7 @@ Map.UI.Minimap = function(map){
base.creating = base.dragging = base.resizing = false
+/*
base.mouse = new mouse({
el: map.el,
down: down,
@@ -15,6 +16,7 @@ Map.UI.Minimap = function(map){
up: up,
rightclick: rightclick,
})
+*/
base.wheel = new wheel({
el: map.el,
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)
})
},
diff --git a/public/assets/javascripts/rectangles/engine/rooms/clipper.js b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
index 33e3a84..0382758 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/clipper.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
@@ -49,7 +49,7 @@
Rooms.regions = regions = []
return
}
-
+
base.reset_rects()
base.clip_rects()
var culled = base.cull_rects_iterative()
diff --git a/public/assets/javascripts/rectangles/engine/rooms/grouper.js b/public/assets/javascripts/rectangles/engine/rooms/grouper.js
index 663d29d..890a476 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/grouper.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/grouper.js
@@ -48,13 +48,16 @@
base.build = function (){
var walls = []
+ var floors = []
var collections = base.collect()
base.cull(collections)
base.group(walls, collections, FRONT)
base.group(walls, collections, BACK)
base.group(walls, collections, LEFT)
base.group(walls, collections, RIGHT)
+ base.groupFloors(floors, collections)
Walls.assign( walls )
+ Walls.assignFloors( floors )
Walls.bind()
}
base.collect = function(){
@@ -63,12 +66,16 @@
collections[BACK] = []
collections[LEFT] = []
collections[RIGHT] = []
+ collections[FLOOR] = []
+ collections[CEILING] = []
Rooms.forEach(function(room){
room.mx_walls.forEach(function(mx){
var side = mx.side || mx.half_side
collections[side].push(mx)
})
+ collections[FLOOR] = collections[FLOOR].concat( room.mx_floor )
+ collections[CEILING] = collections[CEILING].concat( room.mx_ceiling )
})
base.cull(collections)
@@ -161,6 +168,20 @@
return walls
}
+ base.groupFloors = function(floors, collections){
+ var floor = new Floor ({
+ id: 'floor',
+ side: FLOOR,
+ mx: collections[FLOOR]
+ })
+ var ceiling = new Floor ({
+ id: 'ceiling',
+ side: CEILING,
+ mx: collections[CEILING]
+ })
+ floors.push(floor)
+ floors.push(ceiling)
+ }
}
diff --git a/public/assets/javascripts/rectangles/models/floor.js b/public/assets/javascripts/rectangles/models/floor.js
new file mode 100644
index 0000000..7ed52a1
--- /dev/null
+++ b/public/assets/javascripts/rectangles/models/floor.js
@@ -0,0 +1,149 @@
+(function(){
+
+ var vec2, Rect, sort
+ if ('window' in this) {
+ vec2 = window.vec2
+ Rect = window.Rect
+ sort = window.sort
+ }
+ else {
+ vec2 = require('./vec2')
+ Rect = require('./rect')
+ UidGenerator = require('../util/uid')
+ }
+
+ var Floor = function(opt){
+ this.id = opt.id
+ this.side = opt.side
+ this.mx = opt.mx
+ }
+
+ Floor.prototype.serialize = function(){
+ return {
+ id: this.id,
+ background: this.background,
+ }
+ }
+
+ Floor.prototype.deserialize = function(data){
+ this.wallpaper( data.background )
+ }
+
+ Floor.prototype.bind = function(){
+ var base = this
+ base.$els = $( this.mx.map(function(mx){ return mx.el }) )
+
+ this.mx.forEach(function(mx, index){
+ $(mx.el).bind({
+ mousedown: function(e){
+ if (Scenery.nextWallpaper) {
+ var oldState = base.serialize()
+ base.wallpaper(Scenery.nextWallpaper)
+ Scenery.nextWallpaper = null
+
+ UndoStack.push({
+ type: 'update-wallpaper',
+ undo: oldState,
+ redo: base.serialize(),
+ })
+
+ // TODO: watch individual scenery object here
+ Minotaur.watch( app.router.editorView.settings )
+ }
+ else {
+ app.controller.pickWall(base, null)
+ }
+ }
+ })
+ })
+
+ // flip the mx order
+ var shouldFlip = this.side & (CEILING)
+ if (! shouldFlip) {
+ this.mx.reverse()
+ }
+ }
+
+ Floor.prototype.color = function(color){
+ this.$els.css("background-color", color)
+ }
+
+ Floor.prototype.wallpaper = function(background){
+ if (! background) {
+ background = { src: "none" }
+ }
+ else if (typeof background == "string") {
+ background = { src: background }
+ }
+ else if (! background.src) {
+ background = { src: "none" }
+ }
+ background.x = background.x || 0
+ background.y = background.y || 0
+ background.scale = background.scale || 1
+
+ this.background = background
+ this.background.src = this.background.src.replace("url(","").replace(")","")
+
+ if (this.background.src == "none") {
+ this.wallpaperLoad(this.background.src)
+ return
+ }
+
+ var img = new Image ()
+ img.onload = function(){
+ this.backgroundImage = img
+ this.wallpaperLoad(this.background.src)
+ this.wallpaperPosition(background)
+ }.bind(this)
+ img.src = this.background.src
+ img.complete && img.onload()
+ }
+
+ Floor.prototype.wallpaperLoad = function(url){
+ if (url !== "none") {
+ url = "url(" + url + ")"
+ }
+ this.mx.forEach(function(mx){
+ mx.el.style.backgroundImage = url
+ })
+ }
+
+ Floor.prototype.wallpaperPosition = function(background){
+ if (this.background.src == "none") { return }
+ this.background.x = background.x || this.background.x
+ this.background.y = background.y || this.background.y
+ this.background.scale = background.scale || this.background.scale || 1
+
+ var shouldFlip = this.side & (CEILING)
+
+ var mx, dx, dy
+ var w = Math.round( this.backgroundImage.naturalWidth * this.background.scale )
+ var h = Math.round( this.backgroundImage.naturalHeight * this.background.scale )
+
+ this.mx.forEach(function(mx, i){
+
+ var region = mx.rect
+
+ if (shouldFlip) {
+ dx = Math.round( this.background.x - region.x.a )
+ dy = Math.round( this.background.y - region.y.a )
+ }
+ else {
+ dx = Math.round( this.background.x - region.x.a )
+ dy = Math.round( this.background.y + region.y.b )
+ }
+
+ mx.el.style.backgroundPosition = dx + 'px ' + dy + 'px'
+ mx.el.style.backgroundSize = w + 'px ' + h + 'px'
+ }.bind(this))
+ bbb = this
+ }
+
+ if ('window' in this) {
+ window.Floor = Floor
+ }
+ else {
+ module.exports = Floor
+ }
+})()
diff --git a/public/assets/javascripts/rectangles/models/room.js b/public/assets/javascripts/rectangles/models/room.js
index 0f09325..1a4606c 100644
--- a/public/assets/javascripts/rectangles/models/room.js
+++ b/public/assets/javascripts/rectangles/models/room.js
@@ -154,7 +154,7 @@
}
// if (bitcount(wall_collision) > 1) {
// collision |= wall_collision
-// }
+// }
})
return collision
}
diff --git a/public/assets/javascripts/rectangles/models/wall.js b/public/assets/javascripts/rectangles/models/wall.js
index dc38183..8174de7 100644
--- a/public/assets/javascripts/rectangles/models/wall.js
+++ b/public/assets/javascripts/rectangles/models/wall.js
@@ -19,7 +19,7 @@
this.side = opt.side
this.surface = opt.surface
this.mx = opt.mx
- this.background = ""
+ this.background = { src: "none" }
}
Wall.prototype.toString = function(){
@@ -68,12 +68,12 @@
},
*/
mousedown: function(e){
- if (Scenery.nextMedia) {
- var offset = offsetFromPoint(e, mx.el)
- if (! offset) { return }
+ var offset = offsetFromPoint(e, mx.el)
+ if (! offset) { return }
- var pos = base.mxOffsetToPosition( offset, index )
+ var pos = base.mxOffsetToPosition( offset, index )
+ if (Scenery.nextMedia) {
var scenery = Scenery.addNextToWall({
wall: base,
index: index,
@@ -116,7 +116,7 @@
Minotaur.watch( app.router.editorView.settings )
}
else {
- app.controller.hideExtras()
+ app.controller.pickWall(base, pos)
}
}
})
@@ -127,8 +127,6 @@
if (! shouldFlip) {
this.mx.reverse()
}
-
- // this.outline(wallColor, outlineColor)
}
Wall.prototype.serialize = function(){
@@ -214,21 +212,76 @@
}
Wall.prototype.wallpaper = function(background){
- var useX = this.side & FRONT_BACK
- var shouldFlip = this.side & (LEFT | BACK)
-
- this.background = background || "none"
+ if (! background) {
+ background = { src: "none" }
+ }
+ else if (typeof background == "string") {
+ background = { src: background }
+ }
+ else if (! background.src) {
+ background = { src: "none" }
+ }
+ background.x = background.x || 0
+ background.y = background.y || 0
+ background.scale = background.scale || 1
+
+ this.background = background
+ this.background.src = this.background.src.replace("url(","").replace(")","")
+
+ if (this.background.src == "none") {
+ this.wallpaperLoad(this.background.src)
+ return
+ }
+ var img = new Image ()
+ img.onload = function(){
+ this.backgroundImage = img
+ this.wallpaperLoad(this.background.src)
+ this.wallpaperPosition(background)
+ }.bind(this)
+ img.src = this.background.src
+ img.complete && img.onload()
+ }
+
+ Wall.prototype.wallpaperLoad = function(url){
+ if (url !== "none") {
+ url = "url(" + url + ")"
+ }
this.mx.forEach(function(mx){
- var partitionOffset = useX ? mx.x : mx.z
- if (shouldFlip) partitionOffset *= -1
- partitionOffset += mx.width/2
- var floorOffset = mx.y + mx.height/2
-
- mx.el.style.backgroundImage = background
- mx.el.style.backgroundPosition = (~~partitionOffset) + "px " + (~~floorOffset) + "px"
+ mx.el.style.backgroundImage = url
})
}
+
+ Wall.prototype.wallpaperPosition = function(background){
+ if (this.background.src == "none") { return }
+ this.background.x = background.x || this.background.x
+ this.background.y = background.y || this.background.y
+ this.background.scale = background.scale || this.background.scale || 1
+
+ var useX = this.side & FRONT_BACK
+ var shouldFlip = this.side & (LEFT | BACK)
+
+ var mx, dx, dy
+ var w = Math.round( this.backgroundImage.naturalWidth * this.background.scale )
+ var h = Math.round( this.backgroundImage.naturalHeight * this.background.scale )
+
+ this.surface.faces.forEach(function(face, i){
+
+ if (shouldFlip) {
+ mx = this.mx[this.mx.length-1-i]
+ dx = Math.round( this.background.x + face.x.a )
+ dy = Math.round( this.background.y + face.y.b )
+ }
+ else {
+ mx = this.mx[i]
+ dx = Math.round( this.background.x - face.x.b )
+ dy = Math.round( this.background.y + face.y.b )
+ }
+
+ mx.el.style.backgroundPosition = dx + 'px ' + dy + 'px'
+ mx.el.style.backgroundSize = w + 'px ' + h + 'px'
+ }.bind(this))
+ }
Wall.prototype.outline = function(wallColor, outlineColor){
var useX = this.side & FRONT_BACK
diff --git a/public/assets/javascripts/rectangles/util/constants.js b/public/assets/javascripts/rectangles/util/constants.js
index 4c6b3cc..198cc41 100644
--- a/public/assets/javascripts/rectangles/util/constants.js
+++ b/public/assets/javascripts/rectangles/util/constants.js
@@ -1,5 +1,6 @@
var FRONT = 0x1, BACK = 0x2, LEFT = 0x4, RIGHT = 0x8, FLOOR = 0x10, CEILING = 0x20
- FRONT_BACK = FRONT | BACK, LEFT_RIGHT = LEFT | RIGHT, FLOOR_CEILING = FLOOR | CEILING
+var FRONT_BACK = FRONT | BACK, LEFT_RIGHT = LEFT | RIGHT, FLOOR_CEILING = FLOOR | CEILING
+var WALL_SIDES = FRONT | BACK | LEFT | RIGHT
var TOP = CEILING, BOTTOM = FLOOR,
TOP_LEFT = TOP | LEFT,
diff --git a/public/assets/javascripts/ui/editor/EditorView.js b/public/assets/javascripts/ui/editor/EditorView.js
index 67687fe..f60b149 100644
--- a/public/assets/javascripts/ui/editor/EditorView.js
+++ b/public/assets/javascripts/ui/editor/EditorView.js
@@ -52,6 +52,11 @@ var EditorView = View.extend({
}
},
+ pickWall: function(wall, pos){
+ this.hideExtras()
+ this.wallpaperPicker.pickWall(wall)
+ },
+
hideExtras: function(){
this.mediaEditor.hide()
this.textEditor.hide()
diff --git a/public/assets/javascripts/ui/editor/LightControl.js b/public/assets/javascripts/ui/editor/LightControl.js
index 3eb2861..51e6be7 100644
--- a/public/assets/javascripts/ui/editor/LightControl.js
+++ b/public/assets/javascripts/ui/editor/LightControl.js
@@ -10,6 +10,7 @@ var LightControl = View.extend({
"input #brightness-control": "updateBrightness",
"input #outline-hue": "updateShadow",
"input #wall-hue": "updateShadow",
+ "click .presets span": "selectPreset",
},
initialize: function(){
@@ -114,6 +115,39 @@ var LightControl = View.extend({
this.setMode(mode)
},
+ presets: {
+ wireframe: {
+ wall: [255,255,255],
+ outline: [0,0,0],
+ floor: [246,246,246],
+ ceiling: [255,255,255],
+ },
+ shaded: {
+ wall: [205,205,204],
+ outline: [0,0,0],
+ floor: [109,116,106],
+ ceiling: [159,163,157],
+ },
+ pfunk: {
+ wall: [255,63,78],
+ outline: [255,246,0],
+ floor: [255,255,0],
+ ceiling: [225,118,252],
+ },
+ inverse: {
+ wall: [0,0,0],
+ outline: [0,230,255],
+ floor: [0,0,0],
+ ceiling: [0,0,0],
+ },
+ },
+ selectPreset: function(e){
+ var preset = $(e.currentTarget).data('preset')
+ if (! this.presets[preset]) return
+ this.load(this.presets[preset])
+ $(e.currentTarget).addClass('active')
+ },
+
beginBrightness: function(){
this.begin()
$(window).one("mouseup", this.finalize.bind(this))
diff --git a/public/assets/javascripts/ui/editor/TextEditor.js b/public/assets/javascripts/ui/editor/TextEditor.js
index 1e35c12..0aa5aad 100644
--- a/public/assets/javascripts/ui/editor/TextEditor.js
+++ b/public/assets/javascripts/ui/editor/TextEditor.js
@@ -39,12 +39,15 @@ var TextEditor = FormView.extend({
scale: 0.5,
font: { family: 'Lato', size: 12, align: 'left' },
}
-
this.createMode(true)
}
+ else {
+ $("[data-role='toggle-text-editor']").removeClass("inuse")
+ }
},
hide: function(scenery){
+ Scenery.nextMedia = null
if (this.scenery) {
this.unbind()
}
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index 7f9b8f7..140076d 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -6,8 +6,11 @@ var WallpaperPicker = UploadView.extend({
uploadAction: "/api/media/upload",
events: {
+ "mousedown": 'stopPropagation',
"click .swatch": 'pick',
"click .wallpaperRemove": 'remove',
+ "input [data-role='wallpaper-scale']": 'updateScale',
+
},
initialize: function(){
@@ -15,6 +18,11 @@ var WallpaperPicker = UploadView.extend({
this.$swatches = this.$(".swatches")
this.$remove = this.$(".wallpaperRemove")
this.$remove.hide()
+
+ this.$position = this.$("[data-role='wallpaper-position']")
+ this.$scale = this.$("[data-role='wallpaper-scale']")
+
+ this.initializePositionCursor()
},
loaded: false,
@@ -122,5 +130,52 @@ var WallpaperPicker = UploadView.extend({
_followCursor(e);
})
},
-
+
+ wall: null,
+ pickWall: function(wall){
+ if (wall.background.src == "none") {
+ return;
+ }
+ this.wall = wall
+ this.$scale.val( this.wall.background.scale )
+ },
+
+ updateScale: function(){
+ if (! this.wall) return;
+ s = parseFloat(this.$scale.val())
+ this.wall.wallpaperPosition({ scale: s })
+ },
+
+ initializePositionCursor: function(){
+ var base = this
+ var dx = 0, dy = 0, dragging = false
+ var x = 0, y = 0, s = 1
+ var mymouse = new mouse({
+ el: this.$position[0],
+ down: function(e, cursor){
+ if (! base.wall) return
+ s = parseFloat( base.$scale.val() )
+ x = base.wall.background.x
+ y = base.wall.background.y
+ dragging = true
+ },
+ drag: function(e, cursor){
+ if (! dragging) return
+ delta = cursor.delta()
+ delta.a = - delta.a
+ dx = delta.a*s
+ dy = delta.b*s
+ base.wall.wallpaperPosition({
+ scale: s,
+ x: x+dx,
+ y: y+dy,
+ })
+ },
+ up: function(e, cursor, new_cursor){
+ delta.zero()
+ dragging = false
+ },
+ })
+ },
+
})
diff --git a/public/assets/javascripts/ui/reader/MediaPlayer.js b/public/assets/javascripts/ui/reader/MediaPlayer.js
index df2d075..6195ab6 100644
--- a/public/assets/javascripts/ui/reader/MediaPlayer.js
+++ b/public/assets/javascripts/ui/reader/MediaPlayer.js
@@ -53,8 +53,8 @@ var MediaPlayer = FormView.extend({
this.bind(scenery)
this.$el.addClass("active")
- this.$name.html(media.title)
- this.$description.html(media.description)
+ this.$name.html( sanitize(media.title) )
+ this.$description.html( marked(media.description) )
switch (media.type) {
case "image":
diff --git a/public/assets/javascripts/ui/reader/ReaderView.js b/public/assets/javascripts/ui/reader/ReaderView.js
index 82db048..5f2db0f 100644
--- a/public/assets/javascripts/ui/reader/ReaderView.js
+++ b/public/assets/javascripts/ui/reader/ReaderView.js
@@ -78,6 +78,10 @@ var ReaderView = View.extend({
app.tube("pick-scenery", { scenery: scenery })
},
+ pickWall: function(wall, pos){
+ this.hideExtras()
+ },
+
hideExtras: function(){
this.mediaPlayer.hide()
app.tube("close-scenery")