diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee index 38463114c..1b264eae2 100644 --- a/app/lib/simulator/Simulator.coffee +++ b/app/lib/simulator/Simulator.coffee @@ -1,9 +1,10 @@ SuperModel = require 'models/SuperModel' +CocoClass = require 'lib/CocoClass' LevelLoader = require 'lib/LevelLoader' GoalManager = require 'lib/world/GoalManager' God = require 'lib/God' -module.exports = class Simulator +module.exports = class Simulator extends CocoClass constructor: -> _.extend @, Backbone.Events @@ -14,9 +15,11 @@ module.exports = class Simulator destroy: -> @off() @cleanupSimulation() + super() # TODO: More teardown? fetchAndSimulateTask: => + return if @destroyed @trigger 'statusUpdate', 'Fetching simulation data!' $.ajax url: @taskURL @@ -49,6 +52,7 @@ module.exports = class Simulator @levelLoader.once 'loaded-all', @simulateGame simulateGame: => + return if @destroyed @trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions() @assignWorldAndLevelFromLevelLoaderAndDestroyIt() @setupGod()