diff --git a/app/lib/surface/CoordinateDisplay.coffee b/app/lib/surface/CoordinateDisplay.coffee index 7fe570b4e..a96f5f492 100644 --- a/app/lib/surface/CoordinateDisplay.coffee +++ b/app/lib/surface/CoordinateDisplay.coffee @@ -4,6 +4,7 @@ module.exports = class CoordinateDisplay extends createjs.Container 'surface:mouse-moved': 'onMouseMove' 'surface:mouse-out': 'onMouseOut' 'surface:mouse-over': 'onMouseOver' + 'surface:stage-mouse-down': 'onMouseDown' 'camera:zoom-updated': 'onZoomUpdated' constructor: (options) -> @@ -38,6 +39,14 @@ module.exports = class CoordinateDisplay extends createjs.Container @hide() @show() # debounced + onMouseDown: (e) -> + return unless key.shift + wop = @camera.canvasToWorld x: e.x, y: e.y + wop.x = Math.round wop.x + wop.y = Math.round wop.y + console.log 'position', wop + Backbone.Mediator.publish 'surface:coordinate-selected', wop + onZoomUpdated: (e) -> @hide() @show() diff --git a/app/lib/surface/SpriteBoss.coffee b/app/lib/surface/SpriteBoss.coffee index f84d52a28..56485d47c 100644 --- a/app/lib/surface/SpriteBoss.coffee +++ b/app/lib/surface/SpriteBoss.coffee @@ -238,14 +238,14 @@ module.exports = class SpriteBoss extends CocoClass @dragged += 1 onSpriteMouseUp: (e) -> - return if key.shift and @options.choosing + return if key.shift #and @options.choosing return @dragged = 0 if @dragged > 3 @dragged = 0 sprite = if e.sprite?.thang?.isSelectable then e.sprite else null @selectSprite e, sprite onStageMouseDown: (e) -> - return if key.shift and @options.choosing + return if key.shift #and @options.choosing @selectSprite e if e.onBackground selectThang: (thangID, spellName=null) -> diff --git a/app/views/play/level/tome/spell_view.coffee b/app/views/play/level/tome/spell_view.coffee index dd9875b16..2d8866df6 100644 --- a/app/views/play/level/tome/spell_view.coffee +++ b/app/views/play/level/tome/spell_view.coffee @@ -19,6 +19,7 @@ module.exports = class SpellView extends View 'level-disable-controls': 'onDisableControls' 'level-enable-controls': 'onEnableControls' 'surface:frame-changed': 'onFrameChanged' + 'surface:coordinate-selected': 'onCoordinateSelected' 'god:new-world-created': 'onNewWorld' 'god:user-code-problem': 'onUserCodeProblem' 'tome:manual-cast': 'onManualCast' @@ -420,6 +421,10 @@ module.exports = class SpellView extends View @thang = e.selectedThang # update our thang to the current version @highlightCurrentLine() + onCoordinateSelected: (e) -> + return unless e.x? and e.y? + @ace.insert "{x: #{e.x}, y: #{e.y}}" + onStatementIndexUpdated: (e) -> return unless e.ace is @ace @highlightCurrentLine()