diff --git a/app/lib/surface/Surface.coffee b/app/lib/surface/Surface.coffee index 506626c51..62f0901b2 100644 --- a/app/lib/surface/Surface.coffee +++ b/app/lib/surface/Surface.coffee @@ -84,6 +84,8 @@ module.exports = Surface = class Surface extends CocoClass @initAudio() @onResize = _.debounce @onResize, 500 $(window).on 'resize', @onResize + if @world.ended + _.defer => @setWorld @world destroy: -> @dead = true diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee index e005c1948..af874a04b 100644 --- a/app/views/play/level_view.coffee +++ b/app/views/play/level_view.coffee @@ -60,7 +60,6 @@ module.exports = class PlayLevelView extends View 'surface:world-set-up': 'onSurfaceSetUpNewWorld' 'level:session-will-save': 'onSessionWillSave' 'level:set-team': 'setTeam' - 'god:new-world-created': 'loadSoundsForWorld' 'level:started': 'onLevelStarted' 'level:loading-view-unveiled': 'onLoadingViewUnveiled' @@ -309,9 +308,6 @@ module.exports = class PlayLevelView extends View $('#level-done-button', @$el).hide() application.tracker?.trackEvent 'Confirmed Restart', level: @world.name, label: @world.name - onNewWorld: (e) -> - @world = e.world - onInfiniteLoop: (e) -> return unless e.firstWorld @openModalView new InfiniteLoopModal() @@ -484,11 +480,11 @@ module.exports = class PlayLevelView extends View # Dynamic sound loading - loadSoundsForWorld: (e) -> + onNewWorld: (e) -> return if @headless - world = e.world + @world = e.world thangTypes = @supermodel.getModels(ThangType) - for [spriteName, message] in world.thangDialogueSounds() + for [spriteName, message] in @world.thangDialogueSounds() continue unless thangType = _.find thangTypes, (m) -> m.get('name') is spriteName continue unless sound = AudioPlayer.soundForDialogue message, thangType.get('soundTriggers') AudioPlayer.preloadSoundReference sound