From 7ea92603229c362999805e9ff9b9f30681ae5b73 Mon Sep 17 00:00:00 2001 From: Muhammed Thanish Date: Sun, 2 Mar 2014 01:45:49 +0530 Subject: [PATCH] Use WizardSprite --- app/lib/LevelBus.coffee | 10 ---------- app/lib/surface/Camera.coffee | 4 ---- app/lib/surface/WizardSprite.coffee | 18 ++++++++++++++---- app/views/play/level/playback_view.coffee | 8 ++++---- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/app/lib/LevelBus.coffee b/app/lib/LevelBus.coffee index 707b0cef8..18985716b 100644 --- a/app/lib/LevelBus.coffee +++ b/app/lib/LevelBus.coffee @@ -22,7 +22,6 @@ module.exports = class LevelBus extends Bus 'level-show-victory': 'onVictory' 'tome:spell-changed': 'onSpellChanged' 'tome:spell-created': 'onSpellCreated' - 'self-wizard:move': 'moveWizard' constructor: -> super(arguments...) @@ -241,12 +240,3 @@ module.exports = class LevelBus extends Bus destroy: -> @session.off 'change:multiplayer', @onMultiplayerChanged, @ super() - - moveWizard : (x, y) => - wizardSprite = @getSelfWizard() - position = wizardSprite.getCurrentPosition() - position.x += x - position.y += y - wizardSprite.setTarget(position,1000) - wizardSprite.updatePosition() - Backbone.Mediator.publish 'camera-zoom-to', position diff --git a/app/lib/surface/Camera.coffee b/app/lib/surface/Camera.coffee index 70ee37884..9e4701868 100644 --- a/app/lib/surface/Camera.coffee +++ b/app/lib/surface/Camera.coffee @@ -42,7 +42,6 @@ module.exports = class Camera extends CocoClass 'level:restarted': 'onLevelRestarted' 'sprite:mouse-down': 'onMouseDown' 'sprite:dragged': 'onMouseDragged' - 'camera-zoom-to': 'onZoomTo' # TODO: Fix tests to not use mainLayer constructor: (@canvasWidth, @canvasHeight, angle=Math.asin(0.75), hFOV=d2r(30)) -> @@ -309,6 +308,3 @@ module.exports = class Camera extends CocoClass createjs.Tween.removeTweens @ @finishTween = null super() - - onZoomTo: (pos) -> - @zoomTo(@worldToSurface(pos), @zoom) diff --git a/app/lib/surface/WizardSprite.coffee b/app/lib/surface/WizardSprite.coffee index 665a93bf4..7b57b7b87 100644 --- a/app/lib/surface/WizardSprite.coffee +++ b/app/lib/surface/WizardSprite.coffee @@ -21,6 +21,7 @@ module.exports = class WizardSprite extends IndieSprite 'surface:sprite-selected': 'onSpriteSelected' 'echo-self-wizard-sprite': 'onEchoSelfWizardSprite' 'echo-all-wizard-sprites': 'onEchoAllWizardSprites' + 'self-wizard:move': 'moveWizard' constructor: (thangType, options) -> if options?.isSelf @@ -102,7 +103,7 @@ module.exports = class WizardSprite extends IndieSprite defaultPos: -> x: 35, y: 24, z: @thang.depth / 2 + @thang.bobHeight move: (pos, duration) -> @setTarget(pos, duration) - setTarget: (newTarget, duration) -> + setTarget: (newTarget, duration, isLinear=false) -> # ignore targets you're already heading for targetPos = @getPosFromTarget(newTarget) return if @targetPos and @targetPos.x is targetPos.x and @targetPos.y is targetPos.y @@ -115,7 +116,7 @@ module.exports = class WizardSprite extends IndieSprite @shoveOtherWizards(true) if @targetSprite @targetSprite = if isSprite then newTarget else null @targetPos = targetPos - @beginMoveTween(duration) + @beginMoveTween(duration, isLinear) @shoveOtherWizards() Backbone.Mediator.publish('self-wizard:target-changed', {sender:@}) if @isSelf @@ -127,7 +128,7 @@ module.exports = class WizardSprite extends IndieSprite return target if target.x? return target.thang.pos - beginMoveTween: (duration=1000) -> + beginMoveTween: (duration=1000, isLinear=false) -> # clear the old tween createjs.Tween.removeTweens(@) @@ -140,8 +141,11 @@ module.exports = class WizardSprite extends IndieSprite @updatePosition() @endMoveTween() return + if isLinear + ease = createjs.Ease.linear + else + ease = createjs.Ease.getPowInOut(3.0) - ease = createjs.Ease.getPowInOut(3.0) createjs.Tween .get(@) .to({tweenPercentage:0.0}, duration, ease) @@ -225,3 +229,9 @@ module.exports = class WizardSprite extends IndieSprite updateMarks: -> super() if @displayObject.visible # not if we hid the wiz + + moveWizard : (x, y) => + console.log x, y + position = {x: @targetPos.x+x, y: @targetPos.y+y} + @setTarget(position, 500, true) + @updatePosition() diff --git a/app/views/play/level/playback_view.coffee b/app/views/play/level/playback_view.coffee index 404201e9e..4a3b8cadb 100644 --- a/app/views/play/level/playback_view.coffee +++ b/app/views/play/level/playback_view.coffee @@ -221,13 +221,13 @@ module.exports = class PlaybackView extends View super() onMoveUpKey: -> - Backbone.Mediator.publish 'self-wizard:move', 0, 10 + Backbone.Mediator.publish 'self-wizard:move', 0, 1 onMoveDownKey: -> - Backbone.Mediator.publish 'self-wizard:move', 0, -10 + Backbone.Mediator.publish 'self-wizard:move', 0, -1 onMoveLeftKey: -> - Backbone.Mediator.publish 'self-wizard:move', -10, 0 + Backbone.Mediator.publish 'self-wizard:move', -1, 0 onMoveRightKey: -> - Backbone.Mediator.publish 'self-wizard:move', 10, 0 + Backbone.Mediator.publish 'self-wizard:move', 1, 0