diff --git a/src/js/level/builder.js b/src/js/level/builder.js index 69721c4b..66b7c0bf 100644 --- a/src/js/level/builder.js +++ b/src/js/level/builder.js @@ -53,6 +53,7 @@ var LevelBuilder = Level.extend({ this.startDialogObj = undefined; this.definedGoal = false; + this.compareLevelSettings = undefined; // we wont be using this stuff, and its to delete to ensure we overwrite all functions that // include that functionality @@ -280,6 +281,34 @@ var LevelBuilder = Level.extend({ }); } + if (this.compareLevelSettings === undefined) { + var askForCompare = Q.defer(); + chain = chain.then(function() { + return askForCompare.promise; + }); + + var askForCompareView = new ConfirmCancelTerminal({ + markdowns: [ + 'You havent specified compare settings, would you like to?' + ] + }); + askForCompareView.getPromise() + .then(_.bind(function() { + // oh boy this is complex + var whenEditedDialog = Q.defer(); + // the undefined here is the command that doesnt need resolving just yet... + this.editDialog(undefined, whenEditedDialog); + return whenEditedDialog.promise; + }, this)) + .fail(function() { + // default compare settings + }) + .done(function() { + askForCompare.resolve(); + }); + + } + if (this.startDialogObj === undefined) { var askForStartDeferred = Q.defer(); chain = chain.then(function() { @@ -329,6 +358,13 @@ var LevelBuilder = Level.extend({ if (this.startDialogObj) { compiledLevel.startDialog = {'en_US': this.startDialogObj}; } + + if (this.compareLevelSettings) { + // merge in the object + _.each(Object.keys(this.compareLevelSettings), function(key) { + compiledLevel[key] = this.compareLevelSettings[key]; + }); + } return compiledLevel; }, diff --git a/todo.txt b/todo.txt index f4712147..843af612 100644 --- a/todo.txt +++ b/todo.txt @@ -4,7 +4,6 @@ Big Things Origin things: ~~~~~~~~~~~~~~~~~~~~~~~~~~ -[ ] polish visual layout?? needed? Medium things: ~~~~~~~~~~~~~~~~~~~~~~~~~~~