自学内容网 自学内容网

骑砍2霸主MOD开发(21)-使用XSLT文件覆写本体XML文件

一.使用ModuleData下XML文件

    Native,SandBox,SandBoxCore等MOD中人物角色信息,王国信息,势力信息统称为MBObject,引擎内核在游戏初始化时会加载各个MOD下ModuleData的配置文件。

   MBObjectManager.RegisterObject

   XML配置方法:

   <1.通过SubModule.xml中<xmls>标签声明ModuleData中xml加载路径

   <2.通过ModuleData文件夹下project.mbproj声明ModuleData中xml加载路径

   SandBox/ModuleData/lords.xml:国王角色配置文件

   SandBoxCore/ModuleData/items/arm_armors.xml:盔甲配置文件

二.XML加载&合并

    本体MOD:Native/ModuleData/a.xml         <test id = '12'>q</test>

    本体MOD:SandBox/ModuleData/b.xml    <test id = '12'>w</test>

    开发MOD:NativeTest/ModuleData/a.xml  <test id = '12'>k</test>  <test id = '78'>k</test>

    实际加载后id=12对应的MBObject数值仍为q,id=78对应MBObject数值为k。

三.使用XSLT文件剔除本体中指定元素

    开发MOD:NativeTest/ModuleData/a.xml  <test id = '12'>k</test>  <test id = '78'>k</test>

    若要实现开发MOD中id =12中数值为k,那么需要创建a.xslt文件,剔除本体中对应元素:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes"/>
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="test[@id='12']"/>
</xsl:stylesheet>


原文地址:https://blog.csdn.net/qq_35829452/article/details/140731873

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!