2014-08-08 14:36:41 -04:00
|
|
|
ModalView = require 'views/kinds/ModalView'
|
|
|
|
template = require 'templates/game-menu/game-menu-modal'
|
|
|
|
submenuViews = [
|
|
|
|
require 'views/game-menu/InventoryView'
|
|
|
|
require 'views/game-menu/ChooseHeroView'
|
|
|
|
require 'views/game-menu/SaveLoadView'
|
|
|
|
require 'views/game-menu/OptionsView'
|
|
|
|
require 'views/game-menu/GuideView'
|
|
|
|
require 'views/game-menu/MultiplayerView'
|
|
|
|
]
|
|
|
|
|
|
|
|
module.exports = class GameMenuModal extends ModalView
|
|
|
|
template: template
|
2014-08-10 18:56:34 -04:00
|
|
|
modalWidthPercent: 95
|
2014-08-08 14:36:41 -04:00
|
|
|
id: 'game-menu-modal'
|
2014-08-31 18:08:52 -04:00
|
|
|
instant: true
|
2014-08-08 14:36:41 -04:00
|
|
|
|
2014-09-11 11:38:30 -04:00
|
|
|
events:
|
|
|
|
'change input.select': 'onSelectionChanged'
|
|
|
|
'shown.bs.tab .nav-tabs a': 'onTabShown'
|
|
|
|
|
2014-08-12 12:13:23 -04:00
|
|
|
constructor: (options) ->
|
|
|
|
super options
|
|
|
|
@options.showDevBits = me.isAdmin() or /https?:\/\/localhost/.test(window.location.href)
|
2014-09-02 00:10:45 -04:00
|
|
|
@options.showInventory = @options.level.get('type', true) is 'hero'
|
2014-08-12 12:13:23 -04:00
|
|
|
|
2014-08-08 14:36:41 -04:00
|
|
|
getRenderData: (context={}) ->
|
|
|
|
context = super(context)
|
2014-08-12 12:13:23 -04:00
|
|
|
context.showDevBits = @options.showDevBits
|
2014-09-02 00:10:45 -04:00
|
|
|
context.showInventory = @options.showInventory
|
2014-08-08 14:36:41 -04:00
|
|
|
context
|
|
|
|
|
|
|
|
afterRender: ->
|
|
|
|
super()
|
2014-08-31 18:08:52 -04:00
|
|
|
@$el.toggleClas
|
2014-08-08 14:36:41 -04:00
|
|
|
@insertSubView new submenuView @options for submenuView in submenuViews
|
2014-09-02 00:10:45 -04:00
|
|
|
(if @options.showInventory then @subviews.inventory_view else @subviews.choose_hero_view).$el.addClass 'active'
|
2014-09-05 15:39:30 -04:00
|
|
|
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-open', volume: 1
|
2014-08-10 18:56:34 -04:00
|
|
|
|
2014-09-11 11:38:30 -04:00
|
|
|
onTabShown: ->
|
|
|
|
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-tab-switch', volume: 1
|
|
|
|
|
2014-08-10 18:56:34 -04:00
|
|
|
onHidden: ->
|
2014-09-17 21:56:08 -04:00
|
|
|
super()
|
2014-08-10 18:56:34 -04:00
|
|
|
subview.onHidden?() for subviewKey, subview of @subviews
|
|
|
|
me.patch()
|
2014-09-11 11:38:30 -04:00
|
|
|
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'game-menu-close', volume: 1
|