summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/assets/javascripts/rectangles/engine/map/_map.js4
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js27
-rw-r--r--public/assets/javascripts/ui/editor/EditorToolbar.js15
-rwxr-xr-xpublic/assets/stylesheets/app.css29
4 files changed, 59 insertions, 16 deletions
diff --git a/public/assets/javascripts/rectangles/engine/map/_map.js b/public/assets/javascripts/rectangles/engine/map/_map.js
index 99ede82..3a47dab 100644
--- a/public/assets/javascripts/rectangles/engine/map/_map.js
+++ b/public/assets/javascripts/rectangles/engine/map/_map.js
@@ -66,8 +66,8 @@ var Map = function(opt){
canvas.height = base.dimensions.b = window.innerHeight
}
- base.toggle = function(){
- $(base.el).toggle()
+ base.toggle = function(state){
+ $(base.el).toggle(state)
}
}
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index e2cb53c..ac361a7 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -15,6 +15,10 @@ var EditorSettings = FormView.extend({
"click [data-role='clone-project']": 'clone',
"click [data-role='clear-project']": 'clear',
"click [data-role='destroy-project']": 'destroy',
+ "click #startText": "setStartPosition",
+ "click #moveText": "confirmStartPosition",
+ "click #confirmText": "setStartPosition",
+ "click #goText": "goToStartPosition",
},
initialize: function(opt){
@@ -26,6 +30,7 @@ var EditorSettings = FormView.extend({
this.$name = this.$("[name=name]")
this.$description = this.$("[name=description]")
this.$privacy = this.$("[name=privacy]")
+ this.$startPoint = this.$("#startpoint")
},
load: function(data){
@@ -33,7 +38,11 @@ var EditorSettings = FormView.extend({
this.parent.data = data
data.rooms && Rooms.deserialize(data.rooms, data.walls)
- data.startPosition && scene.camera.move(data.startPosition)
+ if (data.startPosition) {
+ scene.camera.move(data.startPosition)
+ this.startPosition = data.startPosition
+ this.$startPoint.addClass("confirmed")
+ }
if (data.colors && data.colors.wall) {
this.parent.lightControl.load(data.colors)
@@ -141,6 +150,19 @@ var EditorSettings = FormView.extend({
ErrorModal.alert($errors)
},
+ startPosition: null,
+ setStartPosition: function(){
+ this.$startPoint.addClass("active").removeClass("confirmed")
+ },
+ confirmStartPosition: function(){
+ this.$startPoint.removeClass("active").addClass("confirmed")
+ this.startPosition = app.position(scene.camera)
+ },
+ goToStartPosition: function(){
+ if (! this.startPosition) return
+ scene.camera.move(this.startPosition)
+ },
+
serialize: function(){
var fd = new FormData()
fd.append( "_csrf", this.$csrf.val() )
@@ -153,7 +175,8 @@ var EditorSettings = FormView.extend({
fd.append( "walls", JSON.stringify( Walls.serialize() ) )
fd.append( "colors", JSON.stringify( Walls.colors ) )
fd.append( "media", JSON.stringify( Scenery.serialize() ) )
- fd.append( "startPosition", JSON.stringify( app.position(scene.camera) ) )
+ fd.append( "startPosition", JSON.stringify( this.startPosition || false ) )
+ fd.append( "lastPosition", JSON.stringify( app.position(scene.camera) ) )
if (this.thumbnailIsStale()) {
var thumbnail = map.draw.render()
diff --git a/public/assets/javascripts/ui/editor/EditorToolbar.js b/public/assets/javascripts/ui/editor/EditorToolbar.js
index 93cc998..4f07d1f 100644
--- a/public/assets/javascripts/ui/editor/EditorToolbar.js
+++ b/public/assets/javascripts/ui/editor/EditorToolbar.js
@@ -29,9 +29,11 @@ var EditorToolbar = View.extend({
}
},
- toggleMap: function(){
- var state = ! $("[data-role='toggle-map-view']").hasClass("inuse")
- this.resetControls()
+ toggleMap: function(state){
+ if (typeof state != "boolean") {
+ state = ! $("[data-role='toggle-map-view']").hasClass("inuse")
+ this.resetControls()
+ }
$("[data-role='toggle-map-view']").toggleClass("inuse", state)
map.toggle(state)
$("#minimap").toggleClass("hide", state)
@@ -40,6 +42,7 @@ var EditorToolbar = View.extend({
toggleSettings: function(){
// this.resetMode()
+ this.toggleMap(false)
this.parent.textEditor.hide()
this.parent.presets.hide()
this.parent.lightControl.hide()
@@ -53,6 +56,7 @@ var EditorToolbar = View.extend({
this.parent.mediaUpload.show()
this.resetMode()
this.resetControls()
+ this.toggleMap(false)
},
resetMode: function(){
@@ -66,6 +70,7 @@ var EditorToolbar = View.extend({
resetControls: function(){
$(".inuse").removeClass("inuse")
+ this.toggleMap(false)
this.parent.textEditor.hide()
this.parent.wallpaperPicker.hide()
this.parent.presets.hide()
@@ -109,6 +114,7 @@ var EditorToolbar = View.extend({
this.parent.textEditor.hide()
this.parent.settings.hide()
this.parent.presets.hide()
+ this.toggleMap(false)
this.parent.wallpaperPicker.toggle(state)
},
@@ -121,6 +127,7 @@ var EditorToolbar = View.extend({
this.parent.textEditor.hide()
this.parent.settings.hide()
this.parent.presets.hide()
+ this.toggleMap(false)
this.parent.lightControl.toggle(state)
},
@@ -133,6 +140,7 @@ var EditorToolbar = View.extend({
this.parent.lightControl.hide()
this.parent.settings.hide()
this.parent.presets.hide()
+ this.toggleMap(false)
this.parent.textEditor.toggle(state)
},
@@ -145,6 +153,7 @@ var EditorToolbar = View.extend({
this.parent.textEditor.hide()
this.parent.settings.hide()
this.parent.lightControl.hide()
+ this.toggleMap(false)
this.parent.presets.toggle(state)
},
})
diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css
index 731a92b..cf98170 100755
--- a/public/assets/stylesheets/app.css
+++ b/public/assets/stylesheets/app.css
@@ -1752,7 +1752,7 @@ input[type="range"]::-webkit-slider-thumb {
.modalLink {
text-decoration: none;
}
-.modalLink:hover {
+.modalLink:hover span {
text-decoration: underline;
}
@@ -1766,30 +1766,41 @@ input[type="range"]::-webkit-slider-thumb {
opacity:0.6;
}
}
-#startpoint.active #moveText{
+
+#moveText,
+#confirmText {
+ display: none;
+}
+#startpoint.active #moveText {
+ display:inline-block;
-webkit-animation:fade 0.5s infinite;
animation:fade 0.5s infinite;
}
-#moveText{
- display:none;
+#startpoint #goText,
+#startpoint.active #startText,
+#startpoint.active #goText,
+#startpoint.confirmed #startText {
+ display: none;
}
-#moveText.show {
- display:inline-block;
+#startpoint.confirmed #confirmText {
+ display: inline-block;
}
-#startText.hide {
- display:none;
+#startpoint.confirmed #goText {
+ display: inline-block;
}
-#startpoint.active:after {
+#moveText .done {
content: "done";
background: black;
color: white;
padding: 2px;
font-weight: 900;
margin-left: 5px;
+ text-decoration: none !important;
}
#startpoint.active:hover {
text-decoration:none;
}
+
.settings input[type="text"] {
border: 1px solid #000;
font-size: 15px;