28 lines
710 B
JavaScript
28 lines
710 B
JavaScript
function Magnet () {
|
|
Module.call(this, 'magnet', 'Cursor magnetisation settings, changes are reflected on the grid layer.')
|
|
|
|
this.size = 0
|
|
this.step = 4
|
|
|
|
this.methods.lock = new Method('lock', '10', 'Magnetize cursor', function (q) {
|
|
var size = parseInt(q)
|
|
if (size < 5) { this.unlock(); return }
|
|
ronin.magnet.size = size
|
|
ronin.grid.draw(size, ronin.magnet.step)
|
|
})
|
|
|
|
this.methods.unlock = new Method('unlock', '', 'Release cursor', function (q) {
|
|
ronin.magnet.size = 0
|
|
ronin.grid.clear()
|
|
})
|
|
|
|
this.filter = function (pos) {
|
|
if (this.size < 5) {
|
|
return pos
|
|
}
|
|
|
|
var s = this.size
|
|
return { x: parseInt(pos.x / s) * s, y: parseInt(pos.y / s) * s }
|
|
}
|
|
}
|