本当に必要なのがMonsterのコンポーネントを定義する方法だけである場合、XMLはC#とjavaの両方でうまく機能します。
あなたのxmlは
<?xml version="1.0" encoding="UTF-8"?>
<mobs>
<mob>
<personality>Aggressive</personality>
<intelligence>20</intelligence>
</mob>
</mobs>
そうすると、Mobクラスは次のようになります。(Java)
public class Mob {
private IPersonality personality;
private Integer intelligence
//** Getters & Setters **//
}
IPersonalityはインターフェイスです。
その後、xmlをロードし、ファクトリーを介して各値を解析できます。
たとえば、パーソナリティ値を、単純なPersonalityFactoryに解析します。
public IPersonality getPersonality(String personalityName) {
if(personalityName.equals("Aggressive")) {
return new AggressivePersonality();
}
else if(personalityName.equals("Passive")) {
return new PassivePersonality();
}
else {
//Maybe allow for no personality (We all know monster like that ;) )
return null;
}
}
その後、次のように暴徒を設定できます
Mob mob = new Mob();
mob.setPersonality(getPersonality(xmlValue));
mobList.add(mob);
重要なのは、エンジンがxmlの形式を認識しており、必要なすべてのファクトリがあることです。
xmlの利点の1つは、独自のスキーマを定義して、形式が常に正しいことを確認できることです。こちらを参照してください。
お役に立てれば