是在程序启动时解析XML更好,还是在方法调用时解析XML更好?
本文关键字:XML 更好 调用 方法 启动 程序 | 更新日期: 2023-09-27 17:51:15
我现在正在用c#创造一款游戏,它使用XML来构建不同角色的技能。(这个文件包含一些属性,比如damage,为了简洁起见,这些属性在本例中被去掉了。)
<Classes>
<Class name="Mage">
<skill name="Fireball">
</skill>
</Class>
<Class name="Knight">
<skill name="Slash">
</skill>
</Class>
.
.
.
</Classes>
我正在创建一个XMLParser类,以根据每个字符的名称抓取技能('XMLParser. getskillsbyname ("Mage")'返回技能列表)。
是否应该在游戏启动时解析XML文件,并将每组技能分配给相应的职业类型(法师,骑士等);还是应该在需要知道的基础上调用解析器?也就是说,一旦玩家选择了自己的职业类型,该职业选择的构造函数就会解析XML文件中与之相关的技能。
目前,我已经开始实现后一种选择。每个类类型都有一个基本类型"Player"。玩家拥有一种方法去获取基于其名称的类类型的技能—-所以在每个角色的构造函数中,将有一行类似于
List<Skill> mySkills = base.getSkillsByName("Mage");
我只是问,因为我工作的地方正在做类似的事情,但他们在一开始就解析XML,然后根据他们需要从对象列表中调用
这两种技术都是可行的,但在您的情况下,我会选择在加载时进行解析。这样你的游戏在玩的时候会有更好的表现,并且你可以消除在游戏过程中遇到数据验证错误的风险。