summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/engine/map/ui_editor.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/engine/map/ui_editor.js')
-rw-r--r--public/assets/javascripts/rectangles/engine/map/ui_editor.js19
1 files changed, 14 insertions, 5 deletions
diff --git a/public/assets/javascripts/rectangles/engine/map/ui_editor.js b/public/assets/javascripts/rectangles/engine/map/ui_editor.js
index 3c3347b..072ff7e 100644
--- a/public/assets/javascripts/rectangles/engine/map/ui_editor.js
+++ b/public/assets/javascripts/rectangles/engine/map/ui_editor.js
@@ -161,18 +161,19 @@ Map.UI.Editor = function(map){
cursor.y.abs().quantize(1)
var room = Rooms.add_with_rect( cursor )
+ Rooms.rebuild()
+
UndoStack.push({
type: "create-room",
undo: { id: room.id },
redo: room.copy()
})
+ Rooms.rebuild()
app.tube("builder-pick-room", room)
}
}
-
if (base.resizing || base.dragging) {
-
var oldState = base.dragging.copy()
if (base.resizing) {
@@ -187,14 +188,22 @@ Map.UI.Editor = function(map){
undo: oldState,
redo: base.dragging.copy()
})
+ Rooms.rebuild()
}
+
+ var intersects = Rooms.filter(function(r){
+ return r.focused = r.rect.contains(cursor.x.a, cursor.y.a)
+ })
+ if (! intersects.length) {
+ app.tube("builder-pick-nothing")
+ }
base.creating = base.dragging = base.resizing = false
}
var wheelState, wheelTimeout
- function mousewheel (e, val, delta){
+ function mousewheel (e, deltaY, deltaX){
var cursor = base.mouse.cursor
var intersects = Rooms.filter(function(r){
@@ -204,7 +213,7 @@ Map.UI.Editor = function(map){
if (intersects.length) {
wheelState = wheelState || intersects[0].copy()
- intersects[0].height = clamp( ~~(intersects[0].height - delta), height_min, height_max )
+ intersects[0].height = clamp( ~~(intersects[0].height - deltaY), height_min, height_max )
clearTimeout(wheelTimeout)
wheelTimeout = setTimeout(function(){
@@ -218,7 +227,7 @@ Map.UI.Editor = function(map){
}, 500)
}
else {
- map.set_zoom(map.zoom_exponent - delta/20)
+ map.set_zoom(map.zoom_exponent - deltaY/20)
}
}