我现在正在C#中创建一个游戏,它使用XML来构建不同角色的技能。 (为简洁起见,此文件包含本示例中已删除的属性,例如损坏。)
<Classes>
<Class name="Mage">
<skill name="Fireball">
</skill>
</Class>
<Class name="Knight">
<skill name="Slash">
</skill>
</Class>
.
.
.
</Classes>
我正在创建一个XMLParser类,以根据每个角色的名称获取每个角色的技能(&#39; XMLParser.getSkillsByName(&#34; Mage&#34;)&#39;返回技能列表)。
是否应该在游戏启动时解析此XML文件,并将每组技能分配给相应的类类型(Mage,Knight等);还是应该在需要知道的基础上调用解析器?即,一旦玩家选择了他们的类类型,该类选择的构造函数将解析XML文件以获得与其相关的技能。
目前,我已经开始实施后一种选择。每个班级类型都有一个基本类型&#39;玩家&#39;。玩家有一种方法可以根据名称来获取类类型的技能 - 所以在每个角色的构造函数中,都会有类似于
的行List<Skill> mySkills = base.getSkillsByName("Mage");
我只是问,因为我工作的地方正在做类似的事情,但是他们一开始就解析XML,然后根据对象列表从对象列表中调用。
答案 0 :(得分:0)
这两种技术都是可行的但在你的情况下我会选择在加载时解析。这样,您的游戏在游戏时间内的性能会略微提高,并且您可以消除在游戏过程中遇到数据验证错误的风险。