diff --git a/README.md b/README.md index 0950324..32c6838 100644 --- a/README.md +++ b/README.md @@ -2,81 +2,62 @@ ## 初始化项目(给新建的地图使用,老地图勿用!) -1. 按 `F1` 打开命令列表,使用命令 `Y3开发助手:初始化开发环境` +1. 点击左侧栏“Y3开发助手”图标,点击“初始化” 2. 选择地图路径 3. 完成! -## 物编数据TreeView +## 功能面板 -在初始化项目后,你可以在explorer中的大纲(OUTLINE)和Y3开发助手:物编数据中查看Y3项目的物编数据。 -你可以看到物编数据的Json和其字段名的含义,点击你想要编辑的属性,即可跳转到对应字段。 -你可以在此直接编辑物编数据,因为vscode对Json文件的语法检查能力,你可以方便地对物编项目的属性直接进行编辑。 +包含“启动游戏”、“在编辑器中打开”、“查看日志”等常用功能。 -## 在vscode内查看搜索和编辑Y3项目的物编数据 +当使用此助手启动游戏后,游戏会连接到开发助手,并额外提供以下功能: -在vscode中快捷键 `ctrl+T` 可以搜索对象。 +1. 一键热重载 +2. 在“自定义视图”区显示仪表盘,可以监控游戏状态并快速重启 +3. 在VSCode的“终端”区使用远程终端,显示游戏日志以及执行命令 -你需要以名称搜索某一个物编数据可以这样: +## 物编支持 -``` -# 这是一个单位 -``` +打开地图后,可以在 `资源管理器/Y3开发助手:物编数据` 中浏览、编辑物编数据(`.json`文件)。 -![搜索某一个物编的数据](image/search_editor_table_json.png) +打开物编json文件后,在 `资源管理器/大纲/Y3开发助手:物编字段` 视图中以中文查看和跳转字段。 -点击打开保存此物编数据的Json后,按下快捷键 `ctrl+shift+O`,你可以这样在此Json中搜索你要编辑的属性 +### 搜索 -``` -@ 攻击 -``` +按下 `Ctrl+T` 即可搜索物编,例如使用 `#关羽` 来搜索名称中带有 “关羽” 的所有物编。使用 `#关羽.移动速度` 来搜索到指定的物编字段。 -![搜索某一个物编的数据的字段](image/search_editor_table_key_in_json.png) +> 也可以使用数字key与英文字段名来搜索。分割符支持 `.` 和 `/`。 -## 修改并导入物编(CSV) +## 高级应用 -使用命令`Y3开发助手:生成物编模板(CSV)`生成物编数据模板后,你的项目中会生成 `y3-helper/editor_table/csv` 文件夹,你可以在这些CSV表格中添加新数据以导入。 +### 自定义视图 -之后使用命令 `Y3开发助手:导入物编数据(CSV)` 即可将这些物编写入地图。 +你可以自己在自定义视图上画按钮,见[演示代码](https://github.com/y3-editor/y3-lualib/blob/main/%E6%BC%94%E7%A4%BA/Y3%E5%BC%80%E5%8F%91%E5%8A%A9%E6%89%8B/%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%86%E5%9B%BE.lua) -> 如果是老地图,请使用命令 `Y3开发助手:生成物编模板(CSV)` 来生成模板文件 +### 远程终端 -> 推荐和[Edit csv](https://marketplace.visualstudio.com/items?itemName=janisdd.vscode-edit-csv)插件配合使用,以便在Visual Code内编辑CSV表格,无需打开新的窗口 +可以在地图发布到平台后,利用远程终端功能调试线上地图 -> 你可以通过 `Y3-Helper.CSVPath` 设置修改这些CSV文件的路径 +> 应当只在测试服中启用此功能 -> CSV表格中,第一行为表头,第二行为表头的中文翻译,第三行是示例,请按照示例填写,第四行之后的才是正文,会被导入项目中。 -> -## 批量添加、修改CSV表格中的物编项目UID和名称(CSV) +1. 在代码中埋入初始化代码,如: + ```lua + y3.game:event('玩家-发送指定消息', 'Link Start', function (trg, data) + y3.develop.helper.init(11037) + end) + ``` +2. 在VSCode的设置中将 `Y3-Helper.ServerPort` 改为上述相同的端口号 `11037` +3. 点击一下侧边栏的“Y3开发助手”图标,确保此助手已启动 +4. 通过第1步中埋入的初始化代码,执行到 `y3.develop.helper.init(11037)` 即可连接到远程终端 -由于每个物编数据项目的属性种类非常多,只能放在多个CSV文件中,当你需要它们的UID或名称时,需要挨个修改每一个CSV中的此物编项目的UID和名称,所以这里有批量添加和修改的功能。 - -![批量添加、修改CSV文件中的物编项目UID和名称](/image/csv_editor.png) -你可以选择以下命令: - -``` -Y3开发助手:在CSV表格中添加新物编数据 -Y3开发助手:添加项目中已有的物编数据的UID和名称到CSV表格中 -Y3开发助手:修改CSV表格中的物编项目的UID -Y3开发助手:修改CSV表格中的物编项目的名称 -``` - -## 可自定义导入规则的Excel表物编数据导入 - -按下F1,使用命令`Y3开发助手:生成物编数据(Excel)`,会在`y3-helper/editor_table/excel` 下生成Excel物编数据模板和配套导入规则importRules.mjs, -用户可通过编写importRules.mjs实现可自定义规则的物编数据导入方式。 - -`importRule.mjs.ts`中定义了导入规则ImportRule的父类,请继承此父类以实现自定义的导入规则。每个ImportRule对象的属性,记录了需要被导入的Excel表的相对路径和工作表名。在调用命令`Y3开发助手:导入物编数据(Excel)`后,`importRule.mjs`会被复制到本插件的`importRules`目录下,并在运行时作为模块热载入,然后本插件会从头到尾遍历`importRules`数组的元素,从每个ImportRule对象中获取要导入的表,然后一行一行得把读到的数据给用户自定义的rowImport方法,把经过用户自定义的处理方式处理后的结果返回,并导入到Y3项目的物编数据中。 - -用户的自定义规则类`ImportRule`继承以下父类后,必须在子类中覆盖父类的全部方法和成员。 - -[importRule.mjs.ts](./template/excel/importRule.mjs.ts) +> 执行后只有5秒的时间来连接,且一局只能执行一次,请确保VSCode这边已经做好准备再连接 ## 如何对本插件进行二次开发? 1. 安装`vscode`和`Node.js` 2. `git clone` 或其他方式下载本插件项目源码 -3. 使用vscode打开项目文件夹 -4. 在命令行、终端cd到项目目录下使用`npm install`命令,安装相关依赖 -5. 使用`npm install -g typescript`以支持tsc -6. 使用`tsc`命令,将本项目的TS代码编译为js -7. 点击vscode的上方菜单栏`run`,在其中选择运行方式,启动本插件 +3. 使用VSCode打开项目文件夹 +4. 在终端中使用 `npm install` 命令,安装相关依赖 +5. 在终端中使用 `npm install -g typescript` 命令以支持tsc +6. 按下 `ctrl+shift+B` 启动实时编译 +7. 按F5启动新的VSCode窗口测试代码