diff --git a/build/bundle.js b/build/bundle.js index 0989942d..a35327ad 100644 --- a/build/bundle.js +++ b/build/bundle.js @@ -6717,19 +6717,23 @@ var Level = Sandbox.extend({ }, startLevel: function(command, deferred) { - command.addWarning( - "You are in a level! You can't start a new one before exiting. I'll add the command for you..." - ); - command.set('status', 'error'); + this.exitLevel(); + Main.getSandbox().startLevel(command, deferred); + /* Main.getEventBaton().trigger('commandSubmitted', 'delay 3000; exit level; delay 500;' + command.get('rawStr') ); - deferred.resolve(); + deferred.resolve();*/ }, exitLevel: function(command, deferred) { this.die(); + + if (!command || !deferred) { + return; + } + setTimeout(function() { command.finishWith(deferred); }, this.getAnimationTime()); @@ -18503,19 +18507,23 @@ var Level = Sandbox.extend({ }, startLevel: function(command, deferred) { - command.addWarning( - "You are in a level! You can't start a new one before exiting. I'll add the command for you..." - ); - command.set('status', 'error'); + this.exitLevel(); + Main.getSandbox().startLevel(command, deferred); + /* Main.getEventBaton().trigger('commandSubmitted', 'delay 3000; exit level; delay 500;' + command.get('rawStr') ); - deferred.resolve(); + deferred.resolve();*/ }, exitLevel: function(command, deferred) { this.die(); + + if (!command || !deferred) { + return; + } + setTimeout(function() { command.finishWith(deferred); }, this.getAnimationTime()); diff --git a/src/js/level/index.js b/src/js/level/index.js index f81c4721..eeaaf3e0 100644 --- a/src/js/level/index.js +++ b/src/js/level/index.js @@ -330,19 +330,23 @@ var Level = Sandbox.extend({ }, startLevel: function(command, deferred) { - command.addWarning( - "You are in a level! You can't start a new one before exiting. I'll add the command for you..." - ); - command.set('status', 'error'); + this.exitLevel(); + Main.getSandbox().startLevel(command, deferred); + /* Main.getEventBaton().trigger('commandSubmitted', 'delay 3000; exit level; delay 500;' + command.get('rawStr') ); - deferred.resolve(); + deferred.resolve();*/ }, exitLevel: function(command, deferred) { this.die(); + + if (!command || !deferred) { + return; + } + setTimeout(function() { command.finishWith(deferred); }, this.getAnimationTime()); diff --git a/todo.txt b/todo.txt index a18be11a..925927d9 100644 --- a/todo.txt +++ b/todo.txt @@ -9,6 +9,7 @@ Big Graphic things: Medium things: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ ] level arbiter (has everything by ID) +[ ] flip branches on the sides!! i wonder how to determine... Small things to implement: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~