Fixed by raising selection state so that we can see it if we're selecting an obstacle.

This commit is contained in:
Nick Winter 2014-08-28 14:25:37 -07:00
parent 107a727d02
commit 0fa5d264f4
5 changed files with 12 additions and 4 deletions

View file

@ -26,7 +26,6 @@ module.exports = class Dimmer extends CocoClass
build: ->
@dimLayer = new createjs.Container()
@dimLayer.mouseEnabled = @dimLayer.mouseChildren = false
@dimLayer.layerIndex = -10
@dimLayer.addChild @dimScreen = new createjs.Shape()
@dimLayer.addChild @dimMask = new createjs.Shape()
@dimScreen.graphics.beginFill('rgba(0,0,0,0.5)').rect 0, 0, @camera.canvasWidth, @camera.canvasHeight

View file

@ -45,6 +45,13 @@ module.exports = class Mark extends CocoClass
@mark.visible = true
@
setLayer: (layer) ->
return if layer is @layer
wasOn = @on
@toggle false
@layer = layer
@toggle true if wasOn
setSprite: (sprite) ->
return if sprite is @sprite
@sprite = sprite
@ -131,7 +138,6 @@ module.exports = class Mark extends CocoClass
@mark.graphics.endFill()
@mark.regX = width / 2
@mark.regY = height / 2
@mark.layerIndex = 10
@mark.cache -1, -1, width + 2, height + 2 # not actually faster than simple ellipse draw
buildRadius: (range) ->

View file

@ -15,7 +15,6 @@ module.exports = class PlaybackOverScreen extends CocoClass
build: ->
@dimLayer = new createjs.Container()
@dimLayer.mouseEnabled = @dimLayer.mouseChildren = false
@dimLayer.layerIndex = -12
@dimLayer.addChild @dimScreen = new createjs.Shape()
@dimScreen.graphics.beginFill('rgba(0,0,0,0.4)').rect 0, 0, @camera.canvasWidth, @camera.canvasHeight
@dimLayer.cache 0, 0, @camera.canvasWidth, @camera.canvasHeight

View file

@ -21,7 +21,6 @@ module.exports = class PointChooser extends CocoClass
@shape.mouseEnabled = false
@shape.graphics.setStrokeStyle(1, 'round').beginStroke('#000000').beginFill('#fedcba')
@shape.graphics.drawCircle(0, 0, 4).endFill()
@shape.layerIndex = 100
onMouseDown: (e) =>
return unless key.shift

View file

@ -373,6 +373,11 @@ module.exports = class SpriteBoss extends CocoClass
@updateTarget()
return unless @selectionMark
@selectedSprite = null if @selectedSprite and (@selectedSprite.destroyed or not @selectedSprite.thang)
# The selection mark should be on the ground layer, unless we're not a normal sprite (like a wall), in which case we'll place it higher so we can see it.
if @selectedSprite and @selectedSprite.imageObject.parent isnt @spriteLayers.Default
@selectionMark.setLayer @spriteLayers.Default
else if @selectedSprite
@selectionMark.setLayer @spriteLayers.Ground
@selectionMark.toggle @selectedSprite?
@selectionMark.setSprite @selectedSprite
@selectionMark.update()