特定のデータに対して実行するアクションのリストであるタスクを定義する XML ドキュメントがあります。この「タスク リスト」を、後で呼び出すことができる Javascript メソッドに変換する必要があります。このメソッドは、適切なデータを使用して一連の事前定義されたメソッドを呼び出します。どうすればこれを達成できますか?
重要な説明:
XML の解析については心配していません。重要なデータを定義済みのアクション メソッドにバインドするなど、タスク メソッドを実際に構築する方法に興味があります。それは私が苦労している部分です。
編集:例を修正して、もう少し面白くし、できればもう少し明確にしました。
XML:
<task id="enter-castle">
<if holding="castle-key">
<print message="You unlock the castle door and enter." />
<destroy item="castle-key" />
<goto location="castle" />
<else>
<print message="The castle door is locked." />
</else>
</if>
</task>
Javascript:
Game = {
print: function(message) {
// display message
},
destroy: function(item) {
// destroy the object
},
goto: function(location) {
// change player location
},
ifHolding: function(item) {
// return true if player has item
}
};
parseTask(taskNode) {
var taskId = taskNode.getAttribute('id');
// What goes here??
Game.tasks[taskId] = /* ??? */;
}
ノードを呼び出すparseTask()
と、呼び出されたときに実際に次のことを行う関数が作成されます。<task id="enter-castle">
Game.tasks.enterCastle = function() {
if (Game.ifHolding('castle-key')) {
Game.print("You unlock the castle door and enter.");
Game.destroy('castle-key');
Game.goto('castle');
} else {
Game.print("The castle door is locked.");
}
}