summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/assets/javascripts/rectangles/engine/map/ui_editor.js1
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/_rooms.js4
-rw-r--r--public/assets/javascripts/ui/builder/BuilderInfo.js22
-rwxr-xr-xpublic/assets/stylesheets/app.css14
-rw-r--r--views/controls/builder/info.ejs2
5 files changed, 42 insertions, 1 deletions
diff --git a/public/assets/javascripts/rectangles/engine/map/ui_editor.js b/public/assets/javascripts/rectangles/engine/map/ui_editor.js
index c838b8b..44ca91d 100644
--- a/public/assets/javascripts/rectangles/engine/map/ui_editor.js
+++ b/public/assets/javascripts/rectangles/engine/map/ui_editor.js
@@ -42,6 +42,7 @@ Map.UI.Editor = function(map){
cursor.y.div(map.dimensions.b).sub(0.5).mul(map.dimensions.b / map.zoom).sub(map.center.b)
if (e.ctrlKey || e.which === 3) {
+ if (Rooms.regions.length == 0) return
cursor.quantize(1/map.zoom)
map.center.a = cursor.x.a
map.center.b = -cursor.y.a
diff --git a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
index 5686aba..46c1d7f 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/_rooms.js
@@ -81,6 +81,10 @@
base.forEach = function(f){
return base.values().forEach(f)
}
+
+ base.some = function(f){
+ return base.values().some(f)
+ }
base.map = function(f){
return base.values().map(f)
diff --git a/public/assets/javascripts/ui/builder/BuilderInfo.js b/public/assets/javascripts/ui/builder/BuilderInfo.js
index 7606361..c25f03c 100644
--- a/public/assets/javascripts/ui/builder/BuilderInfo.js
+++ b/public/assets/javascripts/ui/builder/BuilderInfo.js
@@ -16,6 +16,7 @@ var BuilderInfo = View.extend({
"change [name=units]": 'changeUnits',
"keydown [name=viewHeight]": 'enterViewHeight',
"change [name=viewHeight]": 'changeViewHeight',
+ "change [name=heightGlobal]": 'changeHeightGlobal',
"click [data-role=destroy-room]": 'destroy',
},
@@ -31,6 +32,7 @@ var BuilderInfo = View.extend({
this.$unitName = this.$(".unitName")
this.$noSelection = this.$(".no-selection")
this.$settings = this.$(".setting")
+ this.$heightGlobalCheckbox = this.$("[name=heightGlobal]")
app.on("builder-pick-room", this.pick.bind(this))
app.on("builder-destroy-room", this.hide.bind(this))
app.on("builder-pick-nothing", this.deselect.bind(this))
@@ -40,6 +42,18 @@ var BuilderInfo = View.extend({
this.$viewHeight.unitVal( window.viewHeight = data.viewHeight || app.defaults.viewHeight )
this.$units.val( "ft" )
this.$unitName.html( "ft" )
+
+ if (Rooms.regions.length == 0) {
+ this.changeHeightGlobal(true)
+ }
+ else {
+ var rooms = Rooms.values()
+ var height = rooms[0].height
+ var differentHeights = Rooms.some(function(room){
+ return room.height != height
+ })
+ this.changeHeightGlobal( ! differentHeights )
+ }
},
toggle: function(state){
@@ -141,5 +155,13 @@ var BuilderInfo = View.extend({
changeViewHeight: function(){
window.viewHeight = this.$viewHeight.unitVal( )
},
+ changeHeightGlobal: function(state){
+ if (typeof state == "boolean") {
+ this.$heightGlobalCheckbox.prop("checked", state)
+ window.heightIsGlobal = state
+ return
+ }
+ window.heightIsGlobal = this.$heightGlobalCheckbox.prop("checked")
+ },
})
diff --git a/public/assets/stylesheets/app.css b/public/assets/stylesheets/app.css
index 814df90..55f3219 100755
--- a/public/assets/stylesheets/app.css
+++ b/public/assets/stylesheets/app.css
@@ -1582,7 +1582,8 @@ border-left: 1px solid black;
transition:opacity 0.3s ease-in-out;
}
.reader #minimap {
- right: 20px;
+ right: 10px;
+ bottom: 10px;
left: auto;
-webkit-transform:translateX(180px);
-moz-transform:translateX(180px);
@@ -2141,6 +2142,17 @@ input[type="range"]::-webkit-slider-thumb {
top: 0px;
}
+.setting.number #room-height {
+ width: 60px;
+}
+.setting.number #room-height-global-label {
+ float: none;
+ margin-left: 6px;
+}
+.setting.number #room-height-global-label:after {
+ content: '';
+}
+
#mediaEditor .setting.number label {
width: 40px;
}
diff --git a/views/controls/builder/info.ejs b/views/controls/builder/info.ejs
index 2762207..8a0e0d5 100644
--- a/views/controls/builder/info.ejs
+++ b/views/controls/builder/info.ejs
@@ -20,6 +20,8 @@
<div class="setting number twoline">
<label for="room-height">ceiling height</label>
<input type="text" class="units" name="height" id="room-height">
+ <label for="room-height-global" id="room-height-global-label">global?</label>
+ <input type="checkbox" name="heightGlobal" id="room-height-global">
</div>
<div class="setting number halflines">
<label for="room-x">x</label>