Path: blob/main/website/GAUSS/js/dialog-manager.js
2941 views
var editorMapIdDialog = {};1var editorDialogsCount = 0;23var Dialog = function(id)4{5this.id = id;6this.currentSubDialog = 'root';7this.subdialogs = { 'root' : [] };8this.hidden = false;9};1011//TODO: fix dialog lines ordering12Dialog.prototype.addDialogChoice = function(subDialogId, choice, pos)13{14if(subDialogId.length == 0)15subDialogId = 'root';16else if(this.subdialogs[subDialogId] == undefined)17this.subdialogs[subDialogId] = [];18if(!pos)19{20this.subdialogs[subDialogId].push(choice);21return;22}23this.subdialogs[subDialogId].splice(pos, 0, choice);24};2526Dialog.prototype.removeDialogChoice = function(subDialogId, pos)27{28if(this.subdialogs[subDialogId] && this.subdialogs[subDialogId].length)29this.subdialogs[subDialogId].splice(pos, 1);30};3132Dialog.prototype.copy = function(d)33{34this.id = d.id;35this.currentSubDialog = d.currentSubDialog;36this.subdialogs = d.subdialogs;37};3839var DialogChoice = function(text, script, quit, open, hidden, showOnce, hideOnce)40{41this.sentence = text;42this.script = script;43this.quit = quit;44this.open = open;45this.hidden = hidden;46this.showOnce = showOnce;47this.chooseOnce = hideOnce;48};4950var deleteDialog = function(id)51{52delete editorMapIdDialog[id];53};54555657