是在程序启动时解析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,然后根据他们需要从对象列表中调用

是在程序启动时解析XML更好,还是在方法调用时解析XML更好?

这两种技术都是可行的,但在您的情况下,我会选择在加载时进行解析。这样你的游戏在玩的时候会有更好的表现,并且你可以消除在游戏过程中遇到数据验证错误的风险。