# LSP-dst
**Repository Path**: b1inkie/lsp-dst
## Basic Information
- **Project Name**: LSP-dst
- **Description**: No description available
- **Primary Language**: Lua
- **License**: MIT-0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 15
- **Forks**: 8
- **Created**: 2024-12-09
- **Last Updated**: 2026-04-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# LSP-dst
## 类及声明方法
#### 声明方法:
```lua
---@type 类型名
local spider
```
#### 目前的一些你需要知道的新类(只列出常用的且你必须知道的类):
写在前面:
1. 虽然lua的类也是表实现的, 但只要我下面不直接指出某个类型是`table`,那么都当成`class`, 这样会比较好理解
2. `{占位符}`: 一堆花括号,用来占位
| 类型名(严格区分大小写) | 实际类型 | 详细 |
| - | - | - |
| `ent` | `class` | 实体类型
由`SpawnPrefab` `CreateEntity` 等方法生成. |
| `component_{组件名}` | `class` | 组件类型 |
| `componentID` | `string` | 组件名枚举 |
| `PrefabID` | `string` | 预制物ID枚举 |
| `tagID` | `string` | 标签名枚举 |
| `eventID` | `string` | 事件名枚举 |
| `event_data_{事件名}` | `table` | 事件表类型 |
| `widget_{widget名}` | `class` | widget类(UI相关) |
| `Vector3` | `class` | Vector3类型 |
## 贡献指南
#### 如果你愿意了解luaCATS
1. [luaCATS](https://luals.github.io/wiki/annotations/)
2. 为什么我推荐你看luaCATS呢?
- lua是弱类型语言, 新手在学习时容易对类型这个概念模糊, 而通过学习luaCATS, 当你可以准确的对一个参数的类型进行约束时, 你得coding水平也会完全脱离新手阶段, 相信我, 你得代码会写的又漂亮又易维护!
3. [lan写的luaCATS引导](/luacats.md)
#### 如果你不愿意了解luaCATS
那么你只需要了解以下几点即可进行贡献:
```lua
---此处我们举一个例子:这里是简要的写出函数的用途
---@param amount number # 变化量
---@param overtime boolean|nil # 忘了
---@param cause idk # 造成伤害的原因
---@param ignore_invincible boolean|nil # 无视无敌
---@param afflicter idk # 造成伤害的实体
---@param ignore_absorb boolean|nil # 无视吸收
---@return number # 返回伤害值,注意 `符号`
---author: lan
function health:DoDelta(amount,overtime,cause,ignore_invincible,afflicter,ignore_absorb)
end
```
以上是某一个组件中的一个方法:
- 第一行写函数用途
- 参数以及返回值注释:
```---@param 参数名(已自动生成) 类型 # 注释```
```---@return 类型```
- 当参数不可以丢弃时,请紧跟着return另起一行帮我加上:
```---@nodiscard```
- 当参数类型有多个时,请用 `|` 分割
```---@param cause string|ent|nil # 可以是字符串,实体或者nil```
- 注释在 `#` 后面写,支持简单的markdown格式, 换行请用 `
`