沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


侧边栏

developer:config:startup_json

📚 Startup.JSON 配置文件

言简意赅,这是每个模组根目录可选的附带文件,允许为模组提供一些前置文本数据。

它的作用:允许开发者通过GetGlobalVars("Startup")获取此文件内的所有文本内容只读,且并不限于json文本格式,即使内部是一串诗歌也不会报错)

通过此属性的机制,开发者可扩展实现许多前置功能(例如:专用服务端的前置配置,房间名、端口号、房间最大人数等)。

📒 简单示例

《沙盘引擎》默认是没有提供【专用服务器.bat】的启动配置文件。

这就导致,以Server.Bat方式建立的服务器无法获取自定义配置,开发者可能希望制作一个json\txt表的方式,让每次建立专用服务器时引擎知道该设置什么样的服务器名称、最大人数是多少,以及自定义端口等其他更多配置

如果有类似这样的(或举一反三)相关需求,就可以利用此机制来做前置配置文件。

📘 示例步骤

  1. 在模组根目录建立或打开Startup.json文件,准备修改

  2. 将此文件内容修改成自己可解析的模式,这里可以使用json文本方式,根据需求自行编写一套数据表

    {
        "HostName": "Sandtable Engine Server",
        "Map": "helloworld",
        "MaxPlayers": 100,
        "Password": "",
        "RconPassword": ""
    }
  3. 确认正确编写后,在Main场景的启动事件中,使用GetGlobalVars("Startup")获取到Startup.json内的文本信息,并转成自己想要的格式(如果是标准json文本,则会自动反序列化)

  4. 使用获取后的内容,按需求来编写逻辑代码

    function OnScriptLoad()
    {
        if(IsServerMode())
        {
            //因为示例是json文本,所以会自动序列化,可直接使用属性
            let startup = GetGlobalVars("Startup");
            DLog(startup.HostName); //"Sandtable Engine Server"
        }
    }
  5. 因为GetGlobalVars()是模组全局生效的,所以可以在不同场景一直使用

developer/config/startup_json.txt · 最后更改: 2023/09/18 22:15 由 bibiboxs