Fixed #2939.
This commit is contained in:
parent
818043bf7f
commit
a52e9a3189
4 changed files with 16 additions and 8 deletions
app
lib
views/play/level
|
@ -15,7 +15,8 @@ module.exports = class LevelSetupManager extends CocoClass
|
||||||
super()
|
super()
|
||||||
@supermodel = @options.supermodel ? new SuperModel()
|
@supermodel = @options.supermodel ? new SuperModel()
|
||||||
@session = @options.session
|
@session = @options.session
|
||||||
@loadLevel()
|
unless @level = @options.level
|
||||||
|
@loadLevel()
|
||||||
if @session
|
if @session
|
||||||
@fillSessionWithDefaults()
|
@fillSessionWithDefaults()
|
||||||
else
|
else
|
||||||
|
|
|
@ -97,12 +97,12 @@ module.exports = class ControlBarView extends CocoView
|
||||||
c.homeLink = @homeLink
|
c.homeLink = @homeLink
|
||||||
c
|
c
|
||||||
|
|
||||||
showGameMenuModal: ->
|
showGameMenuModal: (tab='guide') ->
|
||||||
gameMenuModal = new GameMenuModal level: @level, session: @session, supermodel: @supermodel
|
gameMenuModal = new GameMenuModal level: @level, session: @session, supermodel: @supermodel, showTab: tab
|
||||||
@openModalView gameMenuModal
|
@openModalView gameMenuModal
|
||||||
@listenToOnce gameMenuModal, 'change-hero', ->
|
@listenToOnce gameMenuModal, 'change-hero', ->
|
||||||
@setupManager?.destroy()
|
@setupManager?.destroy()
|
||||||
@setupManager = new LevelSetupManager({supermodel: @supermodel, levelID: @levelID, parent: @, session: @session})
|
@setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @levelID, parent: @, session: @session})
|
||||||
@setupManager.open()
|
@setupManager.open()
|
||||||
|
|
||||||
onClickHome: (e) ->
|
onClickHome: (e) ->
|
||||||
|
@ -111,7 +111,7 @@ module.exports = class ControlBarView extends CocoView
|
||||||
Backbone.Mediator.publish 'router:navigate', route: @homeLink, viewClass: @homeViewClass, viewArgs: @homeViewArgs
|
Backbone.Mediator.publish 'router:navigate', route: @homeLink, viewClass: @homeViewClass, viewArgs: @homeViewArgs
|
||||||
|
|
||||||
onClickMultiplayer: (e) ->
|
onClickMultiplayer: (e) ->
|
||||||
@openModalView new GameMenuModal showTab: 'multiplayer', level: @level, session: @session, supermodel: @supermodel
|
@showGameMenuModal 'multiplayer'
|
||||||
|
|
||||||
onClickSignupButton: ->
|
onClickSignupButton: ->
|
||||||
window.tracker?.trackEvent 'Started Signup', category: 'Play Level', label: 'Control Bar', level: @levelID
|
window.tracker?.trackEvent 'Started Signup', category: 'Play Level', label: 'Control Bar', level: @levelID
|
||||||
|
|
|
@ -279,7 +279,7 @@ module.exports = class PlayLevelView extends RootView
|
||||||
e.session.set 'heroConfig', {"thangType":sorcerer,"inventory":{"misc-0":"53e2396a53457600003e3f0f","programming-book":"546e266e9df4a17d0d449be5","minion":"54eb5dbc49fa2d5c905ddf56","feet":"53e214f153457600003e3eab","right-hand":"54eab7f52b7506e891ca7202","left-hand":"5463758f3839c6e02811d30f","wrists":"54693797a2b1f53ce79443e9","gloves":"5469425ca2b1f53ce7944421","torso":"546d4a549df4a17d0d449a97","neck":"54693274a2b1f53ce79443c9","eyes":"546941fda2b1f53ce794441d","head":"546d4ca19df4a17d0d449abf"}}
|
e.session.set 'heroConfig', {"thangType":sorcerer,"inventory":{"misc-0":"53e2396a53457600003e3f0f","programming-book":"546e266e9df4a17d0d449be5","minion":"54eb5dbc49fa2d5c905ddf56","feet":"53e214f153457600003e3eab","right-hand":"54eab7f52b7506e891ca7202","left-hand":"5463758f3839c6e02811d30f","wrists":"54693797a2b1f53ce79443e9","gloves":"5469425ca2b1f53ce7944421","torso":"546d4a549df4a17d0d449a97","neck":"54693274a2b1f53ce79443c9","eyes":"546941fda2b1f53ce794441d","head":"546d4ca19df4a17d0d449abf"}}
|
||||||
else if e.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] and not _.size e.session.get('heroConfig')?.inventory ? {}
|
else if e.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] and not _.size e.session.get('heroConfig')?.inventory ? {}
|
||||||
@setupManager?.destroy()
|
@setupManager?.destroy()
|
||||||
@setupManager = new LevelSetupManager({supermodel: @supermodel, levelID: @levelID, parent: @, session: @session})
|
@setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @levelID, parent: @, session: @session})
|
||||||
@setupManager.open()
|
@setupManager.open()
|
||||||
|
|
||||||
@onRealTimeMultiplayerLevelLoaded e.session if e.level.get('type') in ['hero-ladder', 'course-ladder']
|
@onRealTimeMultiplayerLevelLoaded e.session if e.level.get('type') in ['hero-ladder', 'course-ladder']
|
||||||
|
@ -577,7 +577,7 @@ module.exports = class PlayLevelView extends RootView
|
||||||
if slot and not inventory[slot]
|
if slot and not inventory[slot]
|
||||||
# Open up the inventory modal so they can equip the new item
|
# Open up the inventory modal so they can equip the new item
|
||||||
@setupManager?.destroy()
|
@setupManager?.destroy()
|
||||||
@setupManager = new LevelSetupManager({supermodel: @supermodel, levelID: @levelID, parent: @, session: @session, hadEverChosenHero: true})
|
@setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @levelID, parent: @, session: @session, hadEverChosenHero: true})
|
||||||
@setupManager.open()
|
@setupManager.open()
|
||||||
|
|
||||||
# Start Real-time Multiplayer ######################################################
|
# Start Real-time Multiplayer ######################################################
|
||||||
|
|
|
@ -6,6 +6,7 @@ SpellPaletteEntryView = require './SpellPaletteEntryView'
|
||||||
LevelComponent = require 'models/LevelComponent'
|
LevelComponent = require 'models/LevelComponent'
|
||||||
ThangType = require 'models/ThangType'
|
ThangType = require 'models/ThangType'
|
||||||
GameMenuModal = require 'views/play/menu/GameMenuModal'
|
GameMenuModal = require 'views/play/menu/GameMenuModal'
|
||||||
|
LevelSetupManager = require 'lib/LevelSetupManager'
|
||||||
|
|
||||||
N_ROWS = 4
|
N_ROWS = 4
|
||||||
|
|
||||||
|
@ -319,10 +320,16 @@ module.exports = class SpellPaletteView extends CocoView
|
||||||
|
|
||||||
onClickHelp: (e) ->
|
onClickHelp: (e) ->
|
||||||
application.tracker?.trackEvent 'Spell palette help clicked', levelID: @level.get('slug')
|
application.tracker?.trackEvent 'Spell palette help clicked', levelID: @level.get('slug')
|
||||||
@openModalView new GameMenuModal showTab: 'guide', level: @level, session: @session, supermodel: @supermodel
|
gameMenuModal = new GameMenuModal showTab: 'guide', level: @level, session: @session, supermodel: @supermodel
|
||||||
|
@openModalView gameMenuModal
|
||||||
|
@listenToOnce gameMenuModal, 'change-hero', ->
|
||||||
|
@setupManager?.destroy()
|
||||||
|
@setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @level.get('slug'), parent: @, session: @session})
|
||||||
|
@setupManager.open()
|
||||||
|
|
||||||
destroy: ->
|
destroy: ->
|
||||||
entry.destroy() for entry in @entries
|
entry.destroy() for entry in @entries
|
||||||
@toggleBackground = null
|
@toggleBackground = null
|
||||||
$(window).off 'resize', @onResize
|
$(window).off 'resize', @onResize
|
||||||
|
@setupManager?.destroy()
|
||||||
super()
|
super()
|
||||||
|
|
Reference in a new issue