SonolusHaniwa
  • 1. 概述
  • 2. ハニプレ
  • 3. ユメステ
  • 4. Stellarity
  • 5. Phigros
  • 首页

    • 1. 概述
  • 玩家

    • 2. 安装服务
    • 3. 配置文件标准
    • 4. 服务使用方法
  • 开发者

    • 5. 自定义搜索函数
    • 6. 自定义资源创建接口
    • 7. 插件开发标准
  • 其他

    • 8. 更新日志
    • 9. 关于 srp 资源包
  • 1. 搭建开发环境
  • 2. Sonolus 基础
  • 3. 配置项目信息
  • 4. 基本数据类型
  • 5. 函数与语句块
  • 6. 注意事项
  • 1. 游玩模式基础
  • 1. 概述
  • 2. ハニプレ
  • 3. ユメステ
  • 4. Stellarity
  • 5. Phigros
  • 首页

    • 1. 概述
  • 玩家

    • 2. 安装服务
    • 3. 配置文件标准
    • 4. 服务使用方法
  • 开发者

    • 5. 自定义搜索函数
    • 6. 自定义资源创建接口
    • 7. 插件开发标准
  • 其他

    • 8. 更新日志
    • 9. 关于 srp 资源包
  • 1. 搭建开发环境
  • 2. Sonolus 基础
  • 3. 配置项目信息
  • 4. 基本数据类型
  • 5. 函数与语句块
  • 6. 注意事项
  • 1. 游玩模式基础
  • 首页

    • 1. 总览
  • 玩家

    • 2. 安装服务
    • 3. 配置文件标准
    • 4. 服务使用方法
  • 开发者

    • 5. 自定义搜索函数
    • 6. 自定义资源创建接口
    • 7. 插件开发标准
  • 其他

    • 8. 更新日志
    • 9. 关于 srp 资源包

自定义资源创建接口

资源创建是 Sonolus 的另一个核心功能。接下来,本页面将向您介绍如何自定义资源创建接口。

配置语法

Search 类的结构介绍在这里(官方叫 ServerOption)。

class CreateConfig {
    public:

    string              title;      // 资源创建标题
    string              icon;       // 资源创建图标
    string              type;       // 资源创建类型
    vector<Search>      options;    // 资源创建选项
    map<string, string> values;     // 数据表各项 SQL 值
    map<string, string> constructs; // 重构选项默认值时的 JavaScript 代码
};
  • title 可以使用 Sonolus 的文本内容,详见 Sonolus/sonolus-core。
  • icon 只能使用 Sonolus 支持的图标代号,详见 Sonolus/sonolus-core。
  • values 的值为 SQL 表达式,可以使用 {{xxx}} 结构来代表用户输入参数。
  • constructs 的值为 JavaScript 表达式,可以使用 {{xxx}} 结构来代表资源信息参数,使用 . 来访问 JSON 结构。资源信息 {{tags}} 比较特殊,为序列化的 Tag 数组。由于部分限制,当目标变量名为 levels 时必须为普通字符串,不能为 JavaScript 表达式。具体资源结构信息详见 Sonolus Wiki。
  • 对于 mutli 类型的 Search 类,有以下特殊属性,具体使用方法可以参考 level_config.json 中的 Advanced Search:
class SearchMultiOptionVariable {
    public:

    string name = "";      // 自定义的变量名称
    string expr = "";      // 自定义的 SQL 变量表达式,只能使用该选项的用户输入参数
    string connector = ""; // 每两项之间的逻辑运算符
    string default = "";   // 用户没有选择时的默认值
};

class SearchMultiOption {
    public:

    // ...
    vector<SearchMultiOptionVariable> variables; // 自定义变量
}

配置示例

详见各资源配置文件中的 itemType.creates。

最近更新:: 2024/7/28 14:27
Contributors: LittleYang0531
Prev
5. 自定义搜索函数
Next
7. 插件开发标准