
集成配置
允许您注册自定义的XML配置文件,这些文件可以从本地或服务器加载(视情况而定)。这样您的XML就能像原版XML加载一样运作。无需再确保所有客户端都拥有相同的XML配置值。
查看大图该模组是针对7D2D Alpha 21版本开发的
适用于单人游戏、游戏内托管和专用服务器。
必须在服务器(如果有)和客户端上同时存在。
入门指南:
如果你的模组想使用此功能:
在你的项目中引用IntegratedConfigs.dll(发布时无需在模组内提供此引用。7D2D会在运行时从该模组加载IntegratedConfigs.dll依赖项)
为给定的XML创建一个C#类(例如CustomOptionsConfig.cs)
从IIntegratedConfig接口扩展并实现,以便能够被找到并注册。
using System.Collections;
using IntegratedConfigs.Core.Entities;
using IntegratedConfigs.Scripts;
namespace YourNamespace
{
public class CustomOptionsConfig : IIntegratedConfig
{
public XmlLoadInfo RegistrationInfo { get; }
private const string XML_NAME = "CustomConfig";
// 此处提供此代码块作为
public static readonly string ModName = "你的模组名称";
public static readonly Mod Mod = ModManager.GetMod(ModName, true);
public static readonly string ModPath = Mod.Path;
// 一个示例。
public CustomOptionsConfig()
{
RegistrationInfo = new XmlLoadInfo(XML_NAME, $"{ModPath}/你的XML文件/位置",
false, true, OnLoad, null, OnLoadComplete);
}
private IEnumerator OnLoad(XmlFile xmlFile)
{
Log.Out($"自定义XML加载调用: {XML_NAME}");
yield break;
}
private static IEnumerator OnLoadComplete()
{
Log.Out($"自定义XML加载完成调用: {XML_NAME}");
yield break;
}
}
}
日志示例:
2023-08-05T17:10:52 10.583 INF [集成配置] - 正在注册自定义XML Mod1选项
2023-08-05T17:10:52 10.584 INF [集成配置] - 正在注册自定义XML Mod2选项
...
...
...
2023-08-05T17:11:16 35.245 INF 从服务器接收到配置文件 'Mod1Options'。长度: 35
2023-08-05T17:11:16 35.246 INF 从服务器接收到配置文件 'Mod2Options'。长度:35
...
...
...
2023-08-05T17:11:16 35.295 INF [模组1] - 自定义XML加载调用:Mod1Options XmlFile
2023-08-05T17:11:16 35.329 INF [模组1] - 自定义XML加载完成回调:Mod1Options
2023-08-05T17:11:16 35.345 INF 已加载(接收):Mod1选项
2023-08-05T17:11:16 35.396 INF [Mod2] - 自定义XML加载调用:Mod2Options XmlFile
2023-08-05T17:11:17 35.641 INF [模组2] - 自定义XML加载完成回调:Mod2Options
2023-08-05T17:11:17 35.735 INF 已加载(接收):Mod2选项
日志"Loaded (received): Mod1Options"若使用本地副本,则会显示为"Loaded (local): Mod1Options"。(主机/单人模式)
如果你喜欢所看到的内容,考虑支持更多类似的模组创作吧!(Vandracon的Patreon)
虽然我尽量避免这种情况发生,但有时原版更新会导致问题。如果您发现错误需要报告,或想提交拉取请求以提升模组质量,请随时在此处或GitHub上报告。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。