หากสิ่งที่คุณต้องการจริงๆคือวิธีการกำหนดองค์ประกอบของ 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 และแยกแต่ละค่าผ่านทางโรงงาน
ตัวอย่างเช่นการแยกค่าบุคลิกภาพในบุคลิกภาพโรงงานซึ่งเป็นเพียง:
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 คือที่คุณสามารถกำหนดแบบแผนของคุณเองเพื่อให้แน่ใจว่ารูปแบบคือเห็นที่ถูกต้องเสมอนี่
หวังว่านี่จะช่วยได้