mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-24 16:17:57 -05:00
54 lines
1.7 KiB
CoffeeScript
54 lines
1.7 KiB
CoffeeScript
View = require 'views/kinds/CocoView'
|
|
template = require 'templates/play/level/level_loading'
|
|
|
|
|
|
tips = [
|
|
"Tip: you can shift+click a position on the map to insert it into the spell editor."
|
|
"You can toggle play/paused with ctrl+p."
|
|
"Pressing ctrl+[ and ctrl+] rewinds and fast-forwards."
|
|
"CodeCombat is 100% open source!"
|
|
"In the future, even babies will be Archmages."
|
|
"Loading will continue until morale improves."
|
|
"CodeCombat launched its beta in October, 2013."
|
|
"JavaScript is just the beginning."
|
|
"We believe in equal opportunities to learn programming for all species."
|
|
]
|
|
|
|
module.exports = class LevelLoadingView extends View
|
|
id: "level-loading-view"
|
|
template: template
|
|
|
|
subscriptions:
|
|
'level-loader:progress-changed': 'onLevelLoaderProgressChanged'
|
|
|
|
onLevelLoaderProgressChanged: (e) ->
|
|
@progress = e.progress
|
|
@updateProgressBar()
|
|
|
|
updateProgressBar: ->
|
|
#@text.text = "BUILDING" if @progress is 1
|
|
@$el.find('.progress-bar').css('width', (100 * @progress) + '%')
|
|
|
|
showReady: ->
|
|
@$el.find('h2').addClass('ready').text 'Ready!'
|
|
|
|
unveil: ->
|
|
_.delay @reallyUnveil, 1000
|
|
|
|
reallyUnveil: =>
|
|
return if @destroyed
|
|
loadingDetails = @$el.find('.loading-details')
|
|
duration = parseFloat loadingDetails.css 'transition-duration'
|
|
loadingDetails.css 'top', -loadingDetails.outerHeight(true)
|
|
@$el.find('.left-wing').css left: '-100%', backgroundPosition: 'right -400px top 0'
|
|
@$el.find('.right-wing').css right: '-100%', backgroundPosition: 'left -400px top 0'
|
|
_.delay @onUnveilEnded, duration * 1000
|
|
|
|
onUnveilEnded: =>
|
|
return if @destroyed
|
|
Backbone.Mediator.publish 'onLoadingViewUnveiled', view: @
|
|
|
|
getRenderData: (c={}) ->
|
|
super c
|
|
c.tip = _.sample tips
|
|
c
|