summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles')
-rw-r--r--public/assets/javascripts/rectangles/_env.js5
-rw-r--r--public/assets/javascripts/rectangles/engine/map/_map.js11
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/clipper.js2
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/move.js4
-rw-r--r--public/assets/javascripts/rectangles/util/mouse.js17
-rw-r--r--public/assets/javascripts/rectangles/util/permissions.js15
6 files changed, 38 insertions, 16 deletions
diff --git a/public/assets/javascripts/rectangles/_env.js b/public/assets/javascripts/rectangles/_env.js
index 1e89696..3cfe969 100644
--- a/public/assets/javascripts/rectangles/_env.js
+++ b/public/assets/javascripts/rectangles/_env.js
@@ -17,9 +17,6 @@ environment.init = function(){
scene.camera.radius = 20
}
- map.center.a = 0
- map.center.b = 0
-
app.movements.gravity(true)
Rooms.init()
@@ -35,7 +32,7 @@ environment.init = function(){
el: document.querySelector("#minimap .el"),
width: 130,
height: 130,
- zoom: -4.8
+ zoom: -4.8
})
}
}
diff --git a/public/assets/javascripts/rectangles/engine/map/_map.js b/public/assets/javascripts/rectangles/engine/map/_map.js
index d5a8442..99ede82 100644
--- a/public/assets/javascripts/rectangles/engine/map/_map.js
+++ b/public/assets/javascripts/rectangles/engine/map/_map.js
@@ -65,13 +65,14 @@ var Map = function(opt){
canvas.width = base.dimensions.a = window.innerWidth
canvas.height = base.dimensions.b = window.innerHeight
}
-
- base.update = function(){
- base.draw.animate()
- }
-
+
base.toggle = function(){
$(base.el).toggle()
}
}
+
+Map.prototype.update = function(){
+ this.draw && this.draw.animate()
+}
+
diff --git a/public/assets/javascripts/rectangles/engine/rooms/clipper.js b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
index 0854013..eb467cd 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/clipper.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
@@ -8,7 +8,7 @@ Rooms.clipper = new function(){
}
base.bind = function(){
- map.ui.mouse.tube.on("up", function(){ base.update() })
+ map.ui && map.ui.mouse.tube.on("up", function(){ base.update() })
}
base.update = function(){
diff --git a/public/assets/javascripts/rectangles/engine/scenery/move.js b/public/assets/javascripts/rectangles/engine/scenery/move.js
index f38a740..bad0a55 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/move.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/move.js
@@ -26,6 +26,10 @@ Scenery.move = function(base){
Scenery.remove(base.id)
return
}
+ if (! (editor.permissions.move || editor.permissions.resize) ) {
+ e.clickAccepted = false
+ return
+ }
dragging = true
x = base.mx.x
y = base.mx.y
diff --git a/public/assets/javascripts/rectangles/util/mouse.js b/public/assets/javascripts/rectangles/util/mouse.js
index 2ec35e6..06958af 100644
--- a/public/assets/javascripts/rectangles/util/mouse.js
+++ b/public/assets/javascripts/rectangles/util/mouse.js
@@ -95,8 +95,6 @@ function mouse (opt) {
}
base.mousedown = function(e){
- e.stopPropagation()
-
if (opt.use_offset) {
offset = this.getBoundingClientRect()
}
@@ -106,12 +104,18 @@ function mouse (opt) {
var x = pos.a, y = pos.b
base.cursor = new Rect (x,y, x,y)
base.down = true
-
+ e.clickAccepted = true
+
base.tube("down", e, base.cursor)
+
+ if (e.clickAccepted) {
+ e.stopPropagation()
+ }
+ else {
+ base.down = false
+ }
}
base.mousemove = function(e){
- e.stopPropagation()
-
if (opt.use_offset && ! offset) return
var pos = positionFromMouse(e)
@@ -126,10 +130,11 @@ function mouse (opt) {
base.cursor.x.b = x
base.cursor.y.b = y
base.tube("drag", e, base.cursor)
+ e.stopPropagation()
}
else {
base.cursor.x.a = base.cursor.x.b = x
- base.cursor.y.a = base.cursor.y.b = y
+ base.cursor.y.a = base.cursor.y.b = y
base.tube("move", e, base.cursor)
}
}
diff --git a/public/assets/javascripts/rectangles/util/permissions.js b/public/assets/javascripts/rectangles/util/permissions.js
index 22a6079..adb2498 100644
--- a/public/assets/javascripts/rectangles/util/permissions.js
+++ b/public/assets/javascripts/rectangles/util/permissions.js
@@ -15,3 +15,18 @@ Permissions.prototype.toggle = function (key) {
})
return state
}
+
+Permissions.prototype.assign = function (key, state) {
+ var base = this
+ base.keys.forEach(function(op){
+ base[op] = op == key ? state : false
+ })
+ return state
+}
+
+Permissions.prototype.clear = function () {
+ var base = this
+ base.keys.forEach(function(op){
+ base[op] = false
+ })
+}