骑砍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)!