summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/reader/ReaderView.js
diff options
context:
space:
mode:
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()
}
})