Spell Saved -> Code Saved. Re-enabled level locking, with a fallback for when victory modals are hanging.

This commit is contained in:
Nick Winter 2014-10-22 10:46:34 -07:00
parent 9392100d3b
commit afc6558edc
4 changed files with 12 additions and 5 deletions

View file

@ -227,7 +227,7 @@
tome_available_spells: "Available Spells"
tome_your_skills: "Your Skills"
hud_continue: "Continue (shift+space)"
spell_saved: "Spell Saved"
code_saved: "Code Saved"
skip_tutorial: "Skip (esc)"
keyboard_shortcuts: "Key Shortcuts"
loading_ready: "Ready!"

View file

@ -3,4 +3,4 @@ span.code-background
div.ace
.save-status(data-i18n="play_level.spell_saved") Spell Saved
.save-status(data-i18n="play_level.code_saved") Code Saved

View file

@ -82,8 +82,8 @@ module.exports = class WorldMapView extends RootView
for level, index in campaign.levels
level.x ?= 10 + 80 * Math.random()
level.y ?= 10 + 80 * Math.random()
#level.locked = index > 0 and not me.earnedLevel level.original
level.locked = false # Until we can solve the bug.
level.locked = index > 0 and not me.earnedLevel level.original
level.locked = false if window.levelUnlocksNotWorking
context.levelStatusMap = @levelStatusMap
context.levelPlayCountMap = @levelPlayCountMap
context.isIPadApp = application.isIPadApp

View file

@ -30,6 +30,7 @@ module.exports = class HeroVictoryModal extends ModalView
@achievements = @supermodel.loadCollection(achievements, 'achievements').model
@listenToOnce @achievements, 'sync', @onAchievementsLoaded
@readyToContinue = false
@waitingToContinueSince = new Date()
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'victory'
onAchievementsLoaded: ->
@ -59,7 +60,13 @@ module.exports = class HeroVictoryModal extends ModalView
res = @supermodel.loadCollection(earnedAchievements, 'earned_achievements')
@earnedAchievements = res.model
@listenTo @earnedAchievements, 'sync', ->
if @earnedAchievements.models.length < @earnedAchievements.sizeShouldBe
if (new Date() - @waitingToContinueSince) > 15 * 1000
# In case there is some network problem, like we saw with CloudFlare + school proxies, we'll let them keep playing.
application.tracker?.trackEvent 'Unlocking Failed', level: @level.get('slug'), label: @level.get('slug')
window.levelUnlocksNotWorking = true
@readyToContinue = true
@updateSavingProgressStatus()
else if @earnedAchievements.models.length < @earnedAchievements.sizeShouldBe
@earnedAchievements.fetch()
else
@listenToOnce me, 'sync', ->