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; |