引擎 - ReiKohaku/Sonolus-wiki-zh_cn GitHub Wiki

引擎

引擎为不同的关卡提供脚本化的行为。

引擎必须实现:缩略图数据配置

缩略图

实现图像资源类型EngineThumbnail

数据

实现JSON资源类型EngineData

点击此处查看详情。

配置

实现JSON资源类型EngineConfiguration

{
    "options": [
        {
            "name": "#NOTE_SPEED",
            "standard": false,
            "scope": "Bandori",
            "type": "slider",
            "def": 5,
            "min": 1,
            "max": 11,
            "step": 0.1,
            "display": "number"
        },
        {
            "name": "#STAGE_TILT",
            "scope": "Bandori",
            "type": "toggle",
            "def": 1
        },
        // More options
    ]
}

option.name

标准化的选项名称以 # 开头,它们将会在显示时转化为客户端设置的语言。 请点击此处查看详情。

特殊的通用名称将会自动应用其效果。 #SPEED:改变背景音乐的播放速度。

option.standard

是否将此选项视为标准选项。

一个标准选项,当更改为非默认值时,将显著地改变该关卡的游戏性,并且不被认为是该关卡的所期望的游玩方式。 当标准选项更改为非默认值时,它将在结算界面中显示。

option.scope

选项值将自动保存并在所有关卡之间共享。 当存在与作用域和名称匹配的已保存值时,将调用该值。

如果不指定范围,选项值将仅保存在此关卡内。

option.type

仅可以是slider(滑动条)或toggle(开关)。 将显示对应的UI控件。

option.def

默认值。

option.min

最小值。 仅对slider生效。

option.max

最大值。 仅对slider生效。

option.step

步进值。 仅对slider生效。

option.display

仅可以是number(数值)或percentage(百分比)。 指定滑块条的值的显示方式。 仅对slider生效。