2014-07-17 20:20:11 -04:00
|
|
|
CocoView = require 'views/kinds/CocoView'
|
2014-03-14 20:06:08 -04:00
|
|
|
template = require 'templates/play/level/level_loading'
|
|
|
|
|
2014-07-17 20:20:11 -04:00
|
|
|
module.exports = class LevelLoadingView extends CocoView
|
2014-06-30 22:16:26 -04:00
|
|
|
id: 'level-loading-view'
|
2014-03-14 20:06:08 -04:00
|
|
|
template: template
|
|
|
|
|
2014-04-17 19:23:35 -04:00
|
|
|
onLoaded: ->
|
2014-03-17 01:01:21 -04:00
|
|
|
afterRender: ->
|
2014-03-17 03:12:11 -04:00
|
|
|
@$el.find('.tip.rare').remove() if _.random(1, 10) < 9
|
|
|
|
tips = @$el.find('.tip').addClass('to-remove')
|
2014-03-17 01:01:21 -04:00
|
|
|
tip = _.sample(tips)
|
2014-03-17 03:12:11 -04:00
|
|
|
$(tip).removeClass('to-remove')
|
|
|
|
@$el.find('.to-remove').remove()
|
2014-03-14 20:06:08 -04:00
|
|
|
|
|
|
|
showReady: ->
|
2014-05-20 00:53:14 -04:00
|
|
|
return if @shownReady
|
|
|
|
@shownReady = true
|
2014-03-17 08:52:19 -04:00
|
|
|
ready = $.i18n.t('play_level.loading_ready', defaultValue: 'Ready!')
|
|
|
|
@$el.find('#tip-wrapper .tip').addClass('ready').text ready
|
2014-08-27 15:24:03 -04:00
|
|
|
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'level_loaded', volume: 0.75 # old: loading_ready
|
2014-03-14 20:06:08 -04:00
|
|
|
|
|
|
|
unveil: ->
|
2014-03-14 22:44:19 -04:00
|
|
|
_.delay @reallyUnveil, 1000
|
2014-03-14 20:06:08 -04:00
|
|
|
|
|
|
|
reallyUnveil: =>
|
2014-05-01 19:38:27 -04:00
|
|
|
return if @destroyed
|
2014-04-09 12:04:59 -04:00
|
|
|
@$el.addClass 'unveiled'
|
2014-03-14 20:06:08 -04:00
|
|
|
loadingDetails = @$el.find('.loading-details')
|
|
|
|
duration = parseFloat loadingDetails.css 'transition-duration'
|
|
|
|
loadingDetails.css 'top', -loadingDetails.outerHeight(true)
|
2014-03-14 22:44:19 -04:00
|
|
|
@$el.find('.left-wing').css left: '-100%', backgroundPosition: 'right -400px top 0'
|
|
|
|
@$el.find('.right-wing').css right: '-100%', backgroundPosition: 'left -400px top 0'
|
2014-03-14 20:06:08 -04:00
|
|
|
_.delay @onUnveilEnded, duration * 1000
|
|
|
|
|
|
|
|
onUnveilEnded: =>
|
|
|
|
return if @destroyed
|
2014-04-13 23:31:23 -04:00
|
|
|
Backbone.Mediator.publish 'level:loading-view-unveiled', view: @
|