summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/reader/ReaderView.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-07-17 12:18:45 -0400
committerJules Laplace <jules@okfoc.us>2014-07-17 12:18:45 -0400
commit4ee827ad464dfa0edb664d27e5069811877deb1e (patch)
tree69c6ecb890a6af7f6c247c74f81bc36db591e970 /public/assets/javascripts/ui/reader/ReaderView.js
parentb97f3d39ac0e387385aae2685dbe830ee53a686c (diff)
parentf20841988ccd27780d3801e4a6c32bf9afcc9368 (diff)
merge
Diffstat (limited to 'public/assets/javascripts/ui/reader/ReaderView.js')
-rw-r--r--public/assets/javascripts/ui/reader/ReaderView.js50
1 files changed, 48 insertions, 2 deletions
diff --git a/public/assets/javascripts/ui/reader/ReaderView.js b/public/assets/javascripts/ui/reader/ReaderView.js
index 001d097..9d38daa 100644
--- a/public/assets/javascripts/ui/reader/ReaderView.js
+++ b/public/assets/javascripts/ui/reader/ReaderView.js
@@ -2,17 +2,24 @@
var ReaderView = View.extend({
el: "#readerView",
- projectAction: "/api/projects/",
+ projectAction: "/api/project/",
events: {
},
initialize: function(){
+ this.mediaPlayer = new MediaPlayer ({ parent: this })
},
load: function(name){
+ if (window.location.search.indexOf("noui") !== -1) {
+ $(".logo,.topLinks,#editorView").hide()
+ }
+ if (window.location.search.indexOf("mute") !== -1) {
+ app.muted = true
+ }
name = sanitize(name)
- $.get(this.projectAction + name, $.proxy(this.ready, this))
+ $.get(this.projectAction + name, this.ready.bind(this))
},
ready: function(data){
@@ -23,6 +30,45 @@ var ReaderView = View.extend({
data.startPosition && scene.camera.move(data.startPosition)
editor.permissions.clear()
+
+ this.listen()
+ },
+
+ listen: function(){
+ var base = this
+
+ $(window).on('message', function(event){
+ if (event.originalEvent.origin !== window.location.origin) {
+ return
+ }
+ var message = event.originalEvent.data
+ switch (message) {
+ case "spin-on":
+ base.spinning = true
+ break
+ case "spin-off":
+ base.spinning = false
+ break
+ }
+ })
+
+ requestAnimationFrame(this.spin.bind(this))
+ },
+
+ spinning: false,
+ spin: function(){
+ requestAnimationFrame(this.spin.bind(this))
+ if (this.spinning) {
+ scene.camera.rotationY -= 1/180
+ }
+ },
+
+ pick: function(scenery){
+ this.mediaPlayer.pick(scenery)
+ },
+
+ hideExtras: function(){
+ this.mediaPlayer.hide()
}
})