Fixed bug with team assignments and spell permissions.

This commit is contained in:
Nick Winter 2014-01-16 11:37:04 -08:00
parent d0f1510623
commit 1fb68ae717
3 changed files with 10 additions and 17 deletions

View file

@ -112,7 +112,7 @@ module.exports = class LevelLoader extends CocoClass
tempSession = new LevelSession _id: @session.id tempSession = new LevelSession _id: @session.id
tempSession.save(patch, {patch: true}) tempSession.save(patch, {patch: true})
@sessionDenormalized = true @sessionDenormalized = true
# World init # World init
initWorld: -> initWorld: ->
@ -120,18 +120,17 @@ module.exports = class LevelLoader extends CocoClass
@world = new World @level.get('name') @world = new World @level.get('name')
serializedLevel = @level.serialize(@supermodel) serializedLevel = @level.serialize(@supermodel)
@world.loadFromLevel serializedLevel, false @world.loadFromLevel serializedLevel, false
# @setTeam @world.teamForPlayer 1 # We don't know which player we are; this will go away--temp TODO
@buildSpriteSheets() @buildSpriteSheets()
buildSpriteSheets: -> buildSpriteSheets: ->
thangTypes = {} thangTypes = {}
thangTypes[tt.get('name')] = tt for tt in @supermodel.getModels(ThangType) thangTypes[tt.get('name')] = tt for tt in @supermodel.getModels(ThangType)
colorConfigs = @world.getTeamColors() colorConfigs = @world.getTeamColors()
thangsProduced = {} thangsProduced = {}
baseOptions = {resolutionFactor: 4, async: true} baseOptions = {resolutionFactor: 4, async: true}
for thang in @world.thangs for thang in @world.thangs
continue unless thang.spriteName continue unless thang.spriteName
thangType = thangTypes[thang.spriteName] thangType = thangTypes[thang.spriteName]
@ -139,7 +138,7 @@ module.exports = class LevelLoader extends CocoClass
options.async = true options.async = true
thangsProduced[thang.spriteName] = true thangsProduced[thang.spriteName] = true
@buildSpriteSheet(thangType, options) @buildSpriteSheet(thangType, options)
for thangName, thangType of thangTypes for thangName, thangType of thangTypes
continue if thangsProduced[thangName] continue if thangsProduced[thangName]
thangType.spriteOptions = {resolutionFactor: 4, async: true} thangType.spriteOptions = {resolutionFactor: 4, async: true}
@ -155,7 +154,7 @@ module.exports = class LevelLoader extends CocoClass
thangType.on 'build-complete', => thangType.on 'build-complete', =>
@spriteSheetsBuilt += 1 @spriteSheetsBuilt += 1
@notifyProgress() @notifyProgress()
# Initial Sound Loading # Initial Sound Loading
loadAudio: -> loadAudio: ->

View file

@ -78,13 +78,13 @@ module.exports = class PlayLevelView extends View
msg = $.i18n.t('play_level.level_load_error', defaultValue: "Level could not be loaded.") msg = $.i18n.t('play_level.level_load_error', defaultValue: "Level could not be loaded.")
@$el.html('<div class="alert">' + msg + '</div>') @$el.html('<div class="alert">' + msg + '</div>')
@saveScreenshot = _.throttle @saveScreenshot, 30000 @saveScreenshot = _.throttle @saveScreenshot, 30000
@load() unless @isEditorPreview @load() unless @isEditorPreview
setLevel: (@level, @supermodel) -> setLevel: (@level, @supermodel) ->
@god?.level = @level.serialize @supermodel @god?.level = @level.serialize @supermodel
@load() @load()
load: -> load: ->
@levelLoader = new LevelLoader(@levelID, @supermodel, @sessionID) @levelLoader = new LevelLoader(@levelID, @supermodel, @sessionID)
@levelLoader.once 'ready-to-init-world', @onReadyToInitWorld @levelLoader.once 'ready-to-init-world', @onReadyToInitWorld
@ -106,7 +106,7 @@ module.exports = class PlayLevelView extends View
@level = @levelLoader.level @level = @levelLoader.level
@world = @levelLoader.world @world = @levelLoader.world
@loadingScreen.destroy() @loadingScreen.destroy()
# @initWorld() @setTeam @world.teamForPlayer 1 # We don't know which player we are; this will go away--temp TODO
@initSurface() @initSurface()
@initGod() @initGod()
@initGoalManager() @initGoalManager()
@ -291,12 +291,6 @@ module.exports = class PlayLevelView extends View
return if p.length return if p.length
@$el.append($('<img src="/images/level/pointer.png" id="pointer">')) @$el.append($('<img src="/images/level/pointer.png" id="pointer">'))
initWorld: ->
@world ?= new World @level.get('name')
serializedLevel = @level.serialize(@supermodel)
@world.loadFromLevel serializedLevel, false
@setTeam @world.teamForPlayer 1 # We don't know which player we are; this will go away--temp TODO
initSurface: -> initSurface: ->
surfaceCanvas = $('canvas#surface', @$el) surfaceCanvas = $('canvas#surface', @$el)
@surface = new Surface(@world, surfaceCanvas, thangTypes: @supermodel.getModels(ThangType), playJingle: not @isEditorPreview) @surface = new Surface(@world, surfaceCanvas, thangTypes: @supermodel.getModels(ThangType), playJingle: not @isEditorPreview)

View file

@ -32,7 +32,7 @@
"firepad": "~0.1.2", "firepad": "~0.1.2",
"marked": "~0.3.0", "marked": "~0.3.0",
"moment": "~2.5.0", "moment": "~2.5.0",
"aether": "~0.0.1", "aether": "~0.0.5",
"underscore.string": "~2.3.3", "underscore.string": "~2.3.3",
"firebase": "~1.0.2" "firebase": "~1.0.2"
}, },