Snap to integer meters in the level editor when holding shift.

This commit is contained in:
Nick Winter 2014-10-07 10:41:16 -07:00
parent ef3edfcc08
commit 5261a7d4d9

View file

@ -399,9 +399,14 @@ module.exports = class ThangsTabView extends CocoView
thang
adjustThangPos: (sprite, thang, pos) ->
snap = sprite?.data?.snap or sprite?.thangType?.get('snap') or {x: 0.01, y: 0.01} # Centimeter resolution by default
pos.x = Math.round((pos.x - (thang.width ? 1) / 2) / snap.x) * snap.x + (thang.width ? 1) / 2
pos.y = Math.round((pos.y - (thang.height ? 1) / 2) / snap.y) * snap.y + (thang.height ? 1) / 2
if key.shift
# Meter resolution when holding shift, not caring about thang size.
pos.x = Math.round pos.x
pos.y = Math.round pos.y
else
snap = sprite?.data?.snap or sprite?.thangType?.get('snap') or x: 0.01, y: 0.01 # Centimeter resolution by default
pos.x = Math.round((pos.x - (thang.width ? 1) / 2) / snap.x) * snap.x + (thang.width ? 1) / 2
pos.y = Math.round((pos.y - (thang.height ? 1) / 2) / snap.y) * snap.y + (thang.height ? 1) / 2
pos.z = thang.depth / 2
thang.pos = pos
thang.stateChanged = true