var mover = new function(){ var base = this base.room = null base.init = function(){ base.bind() base.update(scene.camera) } base.bind = function(){ app.on("move", base.update) } base.update = function(pos){ if (base.room && base.room.rect.contains(pos.x, pos.z)) return; var intersects = [] clipper.rooms.forEach(function(r){ if (r.rect.contains(pos.x, pos.z)) { intersects.push(r) } }) $(".face.active").removeClass("active") if (intersects.length) { base.room = intersects[0] base.room.$floor.addClass("active") base.room.$ceiling.addClass("active") base.room.$walls.addClass("active") } else { base.room = null } } }