CocosCreator3D插件教程(16):为插件添加配置文件

本教程详细介绍了如何在CocosCreator3D插件中添加配置文件,包括设置编辑器和项目配置,以及配置修改时触发的消息通知。通过示例代码和DEMO,解析了profile配置文件的用法,帮助开发者理解和实现插件配置的读写及同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一篇教程中,我们手动实现了为插件面板添加对应的配置文件,以满足保存配置的需求。

在creator3D插件中,早已经考虑到了这个需求:

1.设置配置文件信息:

package.json中增加如下配置:

{
	// ...
	"contributions": {
    "profile": {
      "editor": {
        "editor-cfg": {
          "default": 100,
          "label": "编辑器配置"
        }
      },
      "project": {
        "project-cfg": {
          "default": 200,
          "label": "项目配置"
        }
      }
    }
  }
}        

contributions中新增profile字段中,定义editorproject2种类型的配置。

  • editor:一般保存编辑器相关的配置,比如编辑器的偏好设置等。

    项目目录/profiles/1.2.0(编辑器版本号)/packages/hello-world.json(插件名.json)

    await Editor.Profile.setConfig('hello-world', 'editor-cfg', 101);
    let value = await Editor.Profile.getConfig('hello-world', 'editor-cfg');
    
  • project:一般保存项目相关的配置,比如编辑器的构建配置。

    项目目录/settings/1.2.0(编辑器版本号)/packages/hello-world.json(插件名.json)

    await Editor.Profile.setProject('hello-world', 'project-cfg', 201);
    let value = await Editor.Profile.getProject('hello-world', 'project-cfg');
    

目前profile里面的字段还不支持自定义。

关于Profile文件与profile配置editorproject之间的关系,我这里整理了一个小DEMO,方便加深理解,有需要的朋友自取:

https://gitee.com/tidys/creator3d_plugin_case/tree/master/hello-profile

如果你还记得上一篇我们手动实现的读写配置,那么再来看编辑器提供的接口,原理其实都差不多,如果插件接口仍旧满足不了个人需求,相信自己实现,也能得心应手了。

2.配置修改触发message

插件提供了当字段发生修改时,会触发对应的message消息的功能。

{
	// ...
	"contributions": {
    "profile": {
      "project": {
        "project-cfg": {
          "default": 200,
          "message": "projectCfgChanged",
          "label": "项目配置"
        }
      }
    }
  }
}    

如上图所示,我们可以给字段设置message,当我们使用接口修改配置时:

await Editor.Profile.setProject('hello-world', 'project-cfg', 201);

就会触发设置的消息名字,我们可以利用这个消息,实现多个面板间的配置信息同步。

以上就是插件配置系统,希望能帮助你更加深刻的理解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xu_yanfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值