level compare sttings progress

This commit is contained in:
Peter Cottle 2013-11-17 14:13:05 -08:00
parent 4f270ead9a
commit 8d23d92456
2 changed files with 36 additions and 1 deletions

View file

@ -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;
},