mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-01-03 10:15:01 +01:00
67 lines
2.0 KiB
JavaScript
67 lines
2.0 KiB
JavaScript
var ATEditor = (function(ATEditor, model, defaults, importExport) {
|
|
|
|
function DialogueController($scope, $routeParams) {
|
|
$scope.datasource = model.dialogue;
|
|
$scope.rootPhrase = $scope.datasource.findById($routeParams.id);
|
|
$scope.phrase = $scope.rootPhrase;
|
|
$scope.reply = null;
|
|
|
|
$scope.removeReward = function(phrase, reward) {
|
|
var idx = phrase.rewards.indexOf(reward);
|
|
phrase.rewards.splice(idx, 1);
|
|
};
|
|
$scope.addReward = function(phrase) {
|
|
phrase.rewards.push({});
|
|
};
|
|
$scope.removeRequirement = function(reply, requirement) {
|
|
var idx = reply.requires.indexOf(requirement);
|
|
reply.requires.splice(idx, 1);
|
|
};
|
|
$scope.addRequirement = function(reply) {
|
|
reply.requires.push({});
|
|
};
|
|
$scope.proceedToPhrase = function(obj, prop) {
|
|
var phraseId = obj[prop];
|
|
if (phraseId) {
|
|
var nextPhrase = model.dialogue.findById(phraseId);
|
|
if (nextPhrase) {
|
|
ATEditor.navigationFunctions.editObjId(model.dialogue, phraseId);
|
|
return;
|
|
}
|
|
} else {
|
|
phraseId = $scope.phrase.id;
|
|
}
|
|
var newPhrase = model.dialogue.addNew(phraseId);
|
|
importExport.prepareObjectsForEditor(model.dialogue, [ newPhrase ]);
|
|
newPhrase.hasOnlyNextReply = true;
|
|
|
|
phraseId = newPhrase.id;
|
|
obj[prop] = phraseId;
|
|
|
|
ATEditor.navigationFunctions.editObjId(model.dialogue, phraseId);
|
|
};
|
|
$scope.selectReply = function(reply) {
|
|
$scope.reply = reply;
|
|
};
|
|
$scope.removeReply = function(phrase, reply) {
|
|
var idx = phrase.replies.indexOf(reply);
|
|
phrase.replies.splice(idx, 1);
|
|
if ($scope.reply === reply) { $scope.reply = null; }
|
|
};
|
|
$scope.addReply = function(phrase) {
|
|
var reply = {};
|
|
defaults.addDefaults('reply', reply);
|
|
phrase.replies.push(reply);
|
|
$scope.reply = reply;
|
|
};
|
|
$scope.showPhraseTree = function(phrase) {
|
|
window.location = "#/" + model.dialogue.id + "/tree/" + phrase.id;
|
|
};
|
|
};
|
|
|
|
ATEditor.controllers = ATEditor.controllers || {};
|
|
ATEditor.controllers.DialogueController = DialogueController;
|
|
|
|
return ATEditor;
|
|
})(ATEditor, ATEditor.model, ATEditor.defaults, ATEditor.importExport);
|