Spaces:
Build error
Build error
| import QuestionManager from '../../plugins/logic/quest/questions/QuestionManager.js'; | |
| import QuestMethods from './QuestMethods.js'; | |
| import DataMethods from './DataMethods.js'; | |
| const EE = Phaser.Events.EventEmitter; | |
| const GetValue = Phaser.Utils.Objects.GetValue; | |
| class DialogQuest extends EE { | |
| constructor(config) { | |
| super(); | |
| if (config === undefined) { | |
| config = {}; | |
| } | |
| if (!config.quest) { | |
| config.quest = true; | |
| } | |
| this.dialog = GetValue(config, 'dialog', undefined); | |
| this.questionManager = new QuestionManager(config); | |
| // Attach events | |
| this.questionManager | |
| .on('quest', function (question) { | |
| var choices = this.dialog.getElement('choices'); | |
| var options = question.options, option; | |
| for (var i = 0, cnt = choices.length; i < cnt; i++) { | |
| option = options[i]; | |
| if (option) { | |
| this.dialog.showChoice(i); | |
| this.emit('update-choice', choices[i], option, this); | |
| } else { | |
| this.dialog.hideChoice(i); | |
| } | |
| } | |
| this.emit('update-dialog', this.dialog, question, this); | |
| }, this); | |
| this.dialog | |
| .on('button.click', function (button, groupName, index) { | |
| var eventName = 'click-' + ((groupName === 'choices') ? 'choice' : 'action'); | |
| this.emit(eventName, button, this.dialog, this); | |
| }, this) | |
| } | |
| } | |
| Object.assign( | |
| DialogQuest.prototype, | |
| QuestMethods, | |
| DataMethods | |
| ); | |
| export default DialogQuest; |