Skip to content

Commit

Permalink
更新readme
Browse files Browse the repository at this point in the history
  • Loading branch information
sumneko committed Jul 12, 2024
1 parent 90bb550 commit 8d4715f
Showing 1 changed file with 34 additions and 53 deletions.
87 changes: 34 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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窗口测试代码

0 comments on commit 8d4715f

Please sign in to comment.