沙盘引擎 (SEngine)

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

用户工具

站点工具


developer:plugins:main

这是本文档旧的修订版!




📚 模组插件

模组插件是放置在Mod\Plugin目录下的特定规范文件,主要用于不同Script脚本加载使用。

对于专为某功能设计的脚本,通常应该被制作为插件

📒 插件机制

某些开发者倾向于制作模组,而某些开发者更倾向于制作“功能模块”(即插件,或全局类脚本)。

插件通常在设计和编写上,可以无需脚本的过多干预(甚至无须修改脚本)即可实现额外的功能,这既是插件诞生的目的。

因此,模组插件与脚本LoadScript()方法有些相似,但插件更适用于可能被多脚本引用、功能模块独立的情况。

📘 脚本加载顺序

加载脚本文件 > 加载插件(Plugins.txt > OnScriptLoad

📘 脚本作用域

注意:加载插件与加载子脚本的底层方式是相同的,均是在现有代码的基础上文本续写

在此情况下,开发者应避免大众的变量及方法名称(或者可以单独维护一份自身“插件类”),避免误触发或被误触发相同的变量及方法名

📒 使用方法

模组插件(Plugin)可以被认为是一种额外的独立脚本,因此在使用方式和目录管理上,几乎和Script文件夹相同。

  1. 首先,在模组的Plugin文件夹创建新的脚本目录(就像Script目录一样)
  2. 例如创建Plugin\PlayerCharacterTag,随后在此文件夹下,分别建立World.js | Client.js脚本文件
  3. 与正常脚本编写机制相同,在不同的js脚本编写对应逻辑
  4. 在任何需要加载插件的脚本环境(例如Script\Main)目录创建Plugins.txt
  5. Plugins.txt文件以每行进行分割,每行填写要加载的插件目录名(即PlayerCharacterTag
  6. 保存Plugins.txt文件,后续加载Script\Main脚本时,会自动引入加载PlayerCharacterTag内的脚本代码

📒 编写指南

在准备编写模组插件之前,需要确保已了解插件的机制(以及与子脚本的不同)。

编写插件与编写正常脚本几乎没有差异(插件不支持LoadScript()),开发者可按照正常脚本方式进行编写。

通常情况下,配合插件编写的最佳写法是配合AddListener() | Emit() 进行事件注册和触发,已达到无需修改原脚本即可扩展功能。

developer/plugins/main.1723319671.txt.gz · 最后更改: 2024/08/11 03:54 由 vegetaz