diff --git a/docs/api/user-client-modules/组件 FloorSelector.md b/docs/api/user-client-modules/组件 FloorSelector.md new file mode 100644 index 0000000..535643c --- /dev/null +++ b/docs/api/user-client-modules/组件 FloorSelector.md @@ -0,0 +1,85 @@ +# FloorSelector 楼层选择器组件 API 文档 + +本文档由 `DeepSeek R1` 模型生成并微调。 + +## 组件描述 + +楼层选择器组件用于在地图浏览或地图选择场景中切换不同楼层,其尺寸与内置状态栏组件匹配,适合在地图浏览时将状态栏替换为此组件。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| -------- | ------------ | ------ | -------------------- | +| `floors` | `FloorIds[]` | 必填 | 可选择的楼层 ID 数组 | +| `now` | `number` | - | 当前选中的楼层索引 | + +--- + +## Events 事件说明 + +| 事件名 | 参数类型 | 触发时机 | +| ------------ | ------------------------------------ | ---------------------- | +| `close` | - | 点击关闭按钮时触发 | +| `update` | `(floor: number, floorId: FloorIds)` | 当选中的楼层改变时触发 | +| `update:now` | `(value: number)` | v-model 双向绑定事件 | + +--- + +## Slots 插槽说明 + +无插槽 + +--- + +## Exposed Methods 暴露方法 + +无暴露方法 + +--- + +## 使用示例 + +### 基础用法 - 地图浏览界面 + +```tsx +import { defineComponent, ref } from 'vue'; +import { FloorSelector, STATUS_BAR_HEIGHT } from '@user/client-modules'; + +export const MapBrowserCom = defineComponent(() => { + const currentFloor = ref(0); + + // 可用的楼层列表 + const availableFloors = core.floorIds; + + const handleFloorChange = (floorIndex: number, floorId: string) => { + console.log(`切换到楼层: ${floorId} (索引: ${floorIndex})`); + // 这里可以执行切换楼层的逻辑 + }; + + const handleClose = () => { + console.log('关闭楼层选择器'); + // 返回主界面或执行其他关闭逻辑 + }; + + return () => ( + + ); +}); +``` + +--- + +## 注意事项 + +1. **尺寸匹配**: 组件设计为与内置状态栏尺寸匹配,可直接替换 +2. **索引基准**: 楼层索引从 0 开始 +3. **内置集成**: 通常不需要直接使用,因为样板已内置完整的地图浏览界面 +4. **倒序排列**: 楼层列表会自动倒序排列 diff --git a/docs/api/user-client-modules/组件 Input.md b/docs/api/user-client-modules/组件 Input.md new file mode 100644 index 0000000..210a887 --- /dev/null +++ b/docs/api/user-client-modules/组件 Input.md @@ -0,0 +1,113 @@ +# Input 输入框组件 API 文档 + +本文档由 `DeepSeek` 生成并微调。 + +## 组件描述 + +输入框组件用于接收用户的文本输入,支持单行和多行模式,提供边框样式自定义和实时/确认两种值变化事件。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| ------------------------- | ------------------- | ------- | ----------------------------------------------------- | +| `placeholder` | `string` | - | 输入框的提示内容 | +| `value` | `string` | - | 输入框的值 | +| `multiline` | `boolean` | `false` | 是否是多行输入,多行输入时允许换行 | +| `border` | `string` | - | 边框颜色 | +| `circle` | `RectRCircleParams` | - | 边框圆角 | +| `borderWidth` | `number` | - | 边框宽度 | +| `pad` | `number` | - | 内边距 | +| 继承自 `TextContentProps` | - | - | [查看完整属性](./组件%20TextContent#Props%20属性说明) | + +--- + +## Events 事件说明 + +| 事件名 | 参数类型 | 触发时机 | +| -------------- | ----------------- | ---------------------------------------- | +| `change` | `(value: string)` | 当输入框的值被确认时触发,例如失焦时 | +| `input` | `(value: string)` | 当输入框的值发生改变时触发,例如实时输入 | +| `update:value` | `(value: string)` | v-model 双向绑定事件 | + +--- + +## Slots 插槽说明 + +无插槽 + +--- + +## Exposed Methods 暴露方法 + +无暴露方法 + +--- + +## 使用示例 + +### 基础用法 - 单行输入框 + +```tsx +import { defineComponent, ref } from 'vue'; +import { Input } from '@user/client-modules'; + +export const MyCom = defineComponent(() => { + const inputValue = ref(''); + + const handleChange = (value: string) => { + console.log('输入确认:', value); + }; + + const handleInput = (value: string) => { + console.log('实时输入:', value); + }; + + return () => ( + + ); +}); +``` + +### 多行文本输入 + +```tsx +import { defineComponent, ref } from 'vue'; +import { Input } from '@user/client-modules'; + +export const MyCom = defineComponent(() => { + const multilineValue = ref(''); + + return () => ( + + ); +}); +``` + +--- + +## 注意事项 + +1. **事件区别**:`input` 事件在每次输入时触发,`change` 事件在失焦或确认时触发 +2. **多行模式**:启用 `multiline` 后支持换行输入,高度需要足够容纳多行文本 +3. **样式继承**:支持从 `TextContentProps` 继承文本相关样式属性 diff --git a/docs/api/user-client-modules/组件 InputBox.md b/docs/api/user-client-modules/组件 InputBox.md new file mode 100644 index 0000000..a36a22f --- /dev/null +++ b/docs/api/user-client-modules/组件 InputBox.md @@ -0,0 +1,315 @@ +# InputBox 输入对话框组件 API 文档 + +本文档由 `DeepSeek` 生成并微调。 + +## 组件描述 + +输入对话框组件是一个完整的弹出式输入界面,包含提示文本、输入框、确认和取消按钮。适用于需要用户输入文本的交互场景,提供了便捷的异步获取输入方法。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| ------------------------- | ---------------- | -------- | ----------------------------------------------------- | +| `loc` | `ElementLocator` | 必填 | 输入框对话框的位置 | +| `input` | `InputProps` | - | 传递给内部 Input 组件的配置参数 | +| `winskin` | `ImageIds` | - | 窗口皮肤图片ID,用于对话框背景绘制 | +| `color` | `CanvasStyle` | - | 对话框背景颜色(未设置 winskin 时生效) | +| `border` | `CanvasStyle` | - | 对话框边框颜色(未设置 winskin 时生效) | +| `pad` | `number` | - | 对话框内部所有元素的内边距 | +| `inputHeight` | `number` | - | 内部输入框区域的高度 | +| `text` | `string` | - | 对话框顶部的提示文本 | +| `yesText` | `string` | `"确认"` | 确认按钮的显示文本 | +| `noText` | `string` | `"取消"` | 取消按钮的显示文本 | +| `selFont` | `Font` | - | 确认/取消按钮的字体样式 | +| `selFill` | `CanvasStyle` | - | 确认/取消按钮的文本颜色 | +| 继承自 `TextContentProps` | - | - | [查看完整属性](./组件%20TextContent#Props%20属性说明) | + +--- + +## Events 事件说明 + +| 事件名 | 参数类型 | 触发时机 | +| -------------- | ----------------- | ------------------------------------------ | +| `confirm` | `(value: string)` | 当确认输入框的内容时触发 | +| `cancel` | `(value: string)` | 当取消时触发 | +| `change` | `(value: string)` | 继承自 Input 组件 - 输入框值被确认时触发 | +| `input` | `(value: string)` | 继承自 Input 组件 - 输入框值实时变化时触发 | +| `update:value` | `(value: string)` | 继承自 Input 组件 - v-model 双向绑定 | + +--- + +## Slots 插槽说明 + +无插槽 + +--- + +## Exposed Methods 暴露方法 + +无暴露方法 + +--- + +## 工具函数 + +### `getInput(controller, text, loc, width, props?)` + +弹出一个输入框并异步返回用户输入的结果。 + +**参数** + +- `controller: IUIMountable` - UI 控制器 +- `text: string` - 提示文本内容 +- `loc: ElementLocator` - 确认框的位置 +- `width: number` - 确认框的宽度 +- `props?: InputBoxProps` - 额外的配置属性(可选) + +**返回值**: `Promise` + +### `getInputNumber(controller, text, loc, width, props?)` + +与 `getInput` 类似,但会将结果转换为数字。 + +**参数**: 同 `getInput` +**返回值**: `Promise` + +--- + +## 使用示例 + +### 基础用法 - 组件形式 + +```tsx +import { defineComponent, ref } from 'vue'; +import { InputBox } from '@user/client-modules'; + +export const MyCom = defineComponent(() => { + const handleConfirm = (value: string) => { + console.log('用户输入:', value); + // 处理用户输入 + }; + + const handleCancel = (value: string) => { + console.log('用户取消输入,最后值为:', value); + }; + + return () => ( + + ); +}); +``` + +### 使用 getInput 工具函数(推荐) + +```tsx +import { defineComponent } from 'vue'; +import { getInput, getInputNumber } from '@user/client-modules'; + +export const MyCom = defineComponent(props => { + const handleGetName = async () => { + // 获取文本输入 + const name = await getInput( + props.controller, + '请输入您的姓名:', + [208, 208, void 0, void 0, 0.5, 0.5], + 280, + { + input: { + placeholder: '姓名' + }, + color: '#f8f8f8' + } + ); + + if (name) { + console.log('用户姓名:', name); + // 处理姓名 + } else { + console.log('用户取消了输入'); + } + }; + + const handleGetAge = async () => { + // 获取数字输入 + const age = await getInputNumber( + props.controller, + '请输入您的年龄:', + [208, 208, void 0, void 0, 0.5, 0.5], + 280 + ); + + if (!isNaN(age)) { + console.log('用户年龄:', age); + // 处理年龄 + } + }; + + return () => ( + + + + + ); +}); +``` + +### 带自定义样式的输入对话框 + +```tsx +import { defineComponent } from 'vue'; +import { getInput } from '@user/client-modules'; + +export const StyledInputCom = defineComponent(props => { + const handleStyledInput = async () => { + const value = await getInput( + props.controller, + '请输入任务描述:', + [240, 240, void 0, void 0, 0.5, 0.5], + 320, + { + text: '任务创建', + input: { + placeholder: '描述任务内容...', + multiline: true, + border: '#4CAF50', + borderWidth: 2, + circle: 8, + pad: 12 + }, + color: '#ffffff', + border: '#4CAF50', + borderWidth: 3, + pad: 20, + inputHeight: 80, + yesText: '创建', + noText: '取消', + selFill: '#4CAF50' + } + ); + + if (value) { + console.log('创建任务:', value); + } + }; + + return () => ( + + ); +}); +``` + +### 游戏中的设置界面 + +```tsx +import { defineComponent } from 'vue'; +import { getInput } from '@user/client-modules'; + +export const SettingsCom = defineComponent(props => { + const settings = ref({ + playerName: '玩家', + serverIP: '127.0.0.1' + }); + + const changePlayerName = async () => { + const newName = await getInput( + props.controller, + '修改玩家名称:', + [240, 240, void 0, void 0, 0.5, 0.5], + 280, + { + input: { + value: settings.value.playerName, + placeholder: '玩家名称', + border: '#FF9800', + borderWidth: 1 + } + } + ); + + if (newName) { + settings.value.playerName = newName; + console.log('玩家名称已更新:', newName); + } + }; + + const changeServerIP = async () => { + const newIP = await getInput( + props.controller, + '修改服务器IP:', + [240, 240, void 0, void 0, 0.5, 0.5], + 280, + { + input: { + value: settings.value.serverIP, + placeholder: '服务器IP地址', + border: '#2196F3', + borderWidth: 1 + } + } + ); + + if (newIP) { + settings.value.serverIP = newIP; + console.log('服务器IP已更新:', newIP); + } + }; + + return () => ( + + + + + ); +}); +``` + +--- + +## 注意事项 + +1. **推荐使用工具函数**: `getInput` 和 `getInputNumber` 提供了更简洁的异步输入获取方式 +2. **宽度设置**: 在使用工具函数时,高度由组件自动计算,只需指定宽度 +3. **皮肤优先级**: 如果设置了 `winskin`,则 `color` 和 `border` 设置将失效 +4. **异步处理**: 工具函数返回 Promise,需要使用 `await` 或 `.then()` 处理结果 +5. **空值处理**: 用户取消输入时,`getInput` 返回空字符串,`getInputNumber` 返回 `NaN` diff --git a/docs/api/user-client-modules/组件 List.md b/docs/api/user-client-modules/组件 List.md new file mode 100644 index 0000000..84c8efc --- /dev/null +++ b/docs/api/user-client-modules/组件 List.md @@ -0,0 +1,184 @@ +# List 列表组件 API 文档 + +本文档由 `DeepSeek` 生成并微调。 + +## 组件描述 + +列表组件用于展示可选择的项目列表,内置滚动条功能和选中项高亮效果。适用于菜单选择、内容导航、设置选项等场景。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| ------------ | -------------------- | ------ | ------------------------------- | +| `list` | `[string, string][]` | 必填 | 列表内容,[id, 显示文本] 的数组 | +| `selected` | `string` | 必填 | 当前选中的项 ID | +| `loc` | `ElementLocator` | 必填 | 列表的位置和尺寸 | +| `lineHeight` | `number` | `18` | 每行的高度 | +| `font` | `Font` | - | 列表项的字体样式 | +| `winskin` | `ImageIds` | - | 使用 winskin 作为光标背景 | +| `color` | `CanvasStyle` | - | 使用指定样式作为光标背景 | +| `border` | `CanvasStyle` | - | 使用指定样式作为光标边框 | +| `alphaRange` | `[number, number]` | - | 选择图标的不透明度范围 | + +--- + +## Events 事件说明 + +| 事件名 | 参数类型 | 触发时机 | +| ----------------- | ----------------- | ---------------------- | +| `update` | `(key: string)` | 当用户选中某一项时触发 | +| `update:selected` | `(value: string)` | v-model 双向绑定事件 | + +--- + +## Slots 插槽说明 + +无插槽 + +--- + +## Exposed Methods 暴露方法 + +无暴露方法 + +--- + +## 使用示例 + +### 基础用法 - 简单列表 + +```tsx +import { defineComponent, ref } from 'vue'; +import { List } from '@user/client-modules'; + +export const MyCom = defineComponent(() => { + const selectedItem = ref('item1'); + + // 列表数据:[id, 显示文本] + const listData = [ + ['item1', '第一项'], + ['item2', '第二项'], + ['item3', '第三项'], + ['item4', '第四项'] + ]; + + const handleSelect = (key: string) => { + console.log('选中项:', key); + selectedItem.value = key; + }; + + return () => ( + + ); +}); +``` + +### 带样式的列表 + +```tsx +import { defineComponent, ref } from 'vue'; +import { List } from '@user/client-modules'; + +export const StyledListCom = defineComponent(() => { + const selected = ref('opt2'); + + const options = [ + ['opt1', '开始游戏'], + ['opt2', '游戏设置'], + ['opt3', '帮助文档'], + ['opt4', '关于我们'] + ]; + + return () => ( + + ); +}); +``` + +### 使用皮肤图片的列表 + +```tsx +import { defineComponent, ref } from 'vue'; +import { List } from '@user/client-modules'; + +export const SkinnedListCom = defineComponent(() => { + const currentSelection = ref('cat'); + + const animalList = [ + ['cat', '猫咪'], + ['dog', '小狗'], + ['bird', '小鸟'], + ['fish', '小鱼'] + ]; + + const handleUpdate = key => { + const item = animalList.find(item => item[0] === key)?.[1]; + currentSelection.value = key; + console.log('选择了:', item); + }; + + return () => ( + + ); +}); +``` + +### 长列表滚动示例 + +```tsx +import { defineComponent, ref } from 'vue'; +import { List } from '@user/client-modules'; + +export const ScrollListCom = defineComponent(() => { + const selected = ref('item5'); + + // 创建长列表数据 + const longList = Array.from({ length: 20 }, (_, i) => [ + `item${i + 1}`, + `列表项 ${i + 1}` + ]); + + return () => ( + + ); +}); +``` + +--- + +## 注意事项 + +1. **数据格式**: `list` 属性需要 `[id, text]` 格式的二维数组 +2. **选中状态**: `selected` 需要与列表项中的 id 匹配 +3. **滚动支持**: 自动显示滚动条 +4. **样式优先级**: 如果设置了 `winskin`,则 `color` 和 `border` 设置将失效 diff --git a/docs/api/user-client-modules/组件 ListPage.md b/docs/api/user-client-modules/组件 ListPage.md new file mode 100644 index 0000000..83bb511 --- /dev/null +++ b/docs/api/user-client-modules/组件 ListPage.md @@ -0,0 +1,226 @@ +# ListPage 列表页面组件 API 文档 + +本文档由 `DeepSeek` 生成并微调。 + +## 组件描述 + +列表页面组件结合了列表选择和内容展示功能,左侧显示可选项列表,右侧显示选中项的详细内容。适用于说明文档、设置界面、内容导航等场景。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| ------------------ | ---------------- | ------- | --------------------------------------------------- | +| `loc` | `ElementLocator` | 必填 | 组件整体位置和尺寸 | +| `basis` | `number` | - | 列表区域所占比例 | +| `right` | `boolean` | `false` | 列表是否排列在右侧 | +| `close` | `boolean` | `false` | 是否显示关闭按钮 | +| `closeLoc` | `ElementLocator` | - | 关闭按钮的位置(相对于组件定位) | +| 继承自 `ListProps` | - | - | [查看完整属性](./组件%20ListProps#Props%20属性说明) | + +--- + +## Events 事件说明 + +| 事件名 | 参数类型 | 触发时机 | +| ----------------- | ----------------- | ------------------------------------ | +| `close` | - | 当用户点击关闭按钮时触发 | +| `update` | `(key: string)` | 继承自 List - 当用户选中某一项时触发 | +| `update:selected` | `(value: string)` | 继承自 List - v-model 双向绑定事件 | + +--- + +## Slots 插槽说明 + +### `default` + +接收当前选中的 key 并返回对应的内容 + +**参数** + +- `key: string` 当前选中的项 ID + +### 具名插槽 + +以列表项 ID 为名称的具名插槽,用于定义每个选项对应的详细内容 + +--- + +## 使用示例 + +### 基础用法 - 说明文档界面 + +```tsx +import { defineComponent, ref } from 'vue'; +import { ListPage } from '@user/client-modules'; + +export const HelpCom = defineComponent(() => { + const selected = ref('intro'); + + const helpTopics = [ + ['intro', '功能介绍'], + ['usage', '使用方法'], + ['settings', '设置说明'], + ['faq', '常见问题'] + ]; + + return () => ( + + {{ + // 使用具名插槽定义每个选项的内容 + intro: () => ( + + + + + ), + usage: () => ( + + + + + + ), + settings: () => , + faq: () => + }} + + ); +}); +``` + +### 使用默认插槽 + +```tsx +import { defineComponent, ref } from 'vue'; +import { ListPage } from '@user/client-modules'; + +export const SimpleCom = defineComponent(() => { + const selected = ref('item1'); + + const items = [ + ['item1', '选项一'], + ['item2', '选项二'], + ['item3', '选项三'] + ]; + + return () => ( + + {key => ( + + item[0] === key)?.[1]}`} + loc={[0, 0]} + /> + + + )} + + ); +}); +``` + +### 带关闭按钮的弹窗 + +```tsx +import { defineComponent, ref } from 'vue'; +import { ListPage } from '@user/client-modules'; + +export const ModalCom = defineComponent(props => { + const selected = ref('weapon'); + + const gameItems = [ + ['weapon', '武器'], + ['armor', '防具'], + ['potion', '药水'], + ['material', '材料'] + ]; + + const handleClose = () => { + props.controller.close(props.instance); + console.log('关闭物品栏'); + }; + + return () => ( + + {{ + weapon: () => ( + + + + + + + ), + armor: () => , + potion: () => , + material: () => + }} + + ); +}); +``` + +### 列表在右侧的布局 + +```tsx +import { defineComponent, ref } from 'vue'; +import { ListPage } from '@user/client-modules'; + +export const RightListCom = defineComponent(() => { + const selected = ref('profile'); + + const menuItems = [ + ['profile', '个人资料'], + ['security', '安全设置'], + ['privacy', '隐私设置'], + ['notifications', '通知设置'] + ]; + + return () => ( + + {key => ( + + + + + )} + + ); +}); +``` + +--- + +## 注意事项 + +1. **插槽使用**: 可以使用具名插槽(以列表项 ID 为名)或默认插槽来定义内容 +2. **布局控制**: 通过 `basis` 控制列表区域比例,`right` 控制列表位置 +3. **关闭功能**: 设置 `close` 为 `true` 显示关闭按钮,通过 `closeLoc` 自定义位置 +4. **事件处理**: `close` 事件需要手动处理界面关闭逻辑 +5. **内容更新**: 切换列表选项时,右侧内容会自动更新为对应插槽的内容 diff --git a/docs/api/user-client-modules/组件 Thumbnail.md b/docs/api/user-client-modules/组件 Thumbnail.md new file mode 100644 index 0000000..e26c3eb --- /dev/null +++ b/docs/api/user-client-modules/组件 Thumbnail.md @@ -0,0 +1,119 @@ +# Thumbnail 地图缩略图组件 API 文档 + +本文档由 `DeepSeek` 生成并微调。 + +## 组件描述 + +地图缩略图组件用于在游戏界面中显示当前楼层的迷你地图,可展示地图布局、角色位置、伤害区域等信息。适用于小地图显示、地图预览等场景。 + +--- + +## Props 属性说明 + +| 属性名 | 类型 | 默认值 | 描述 | +| ---------- | ---------------- | ------ | -------------------------------------- | +| `loc` | `ElementLocator` | 必填 | 缩略图的位置和尺寸 | +| `floorId` | `FloorIds` | 必填 | 楼层 ID | +| `padStyle` | `CanvasStyle` | - | 缩略图填充样式 | +| `map` | `Block[]` | - | 楼层信息 | +| `hero` | `HeroStatus` | - | 角色信息 | +| `damage` | `boolean` | - | 是否显示地图伤害 | +| `all` | `boolean` | - | 是否完全展示地图(false 时只显示部分) | +| `noHD` | `boolean` | - | 是否使用高清模式 | +| `size` | `number` | - | 缩略图的比例(1 表示与实际地图一致) | + +--- + +## Events 事件说明 + +无事件 + +--- + +## Slots 插槽说明 + +无插槽 + +--- + +## Exposed Methods 暴露方法 + +无暴露方法 + +--- + +## 使用示例 + +### 基础用法 - 显示当前楼层缩略图 + +```tsx +import { defineComponent } from 'vue'; +import { Thumbnail } from '@user/client-modules'; + +export const MiniMapCom = defineComponent(() => { + return () => ( + + ); +}); +``` + +### 带角色位置的小地图 + +```tsx +import { defineComponent } from 'vue'; +import { Thumbnail } from '@user/client-modules'; + +export const GameHUDCom = defineComponent(props => { + const heroStatus: HeroStatus = { + // 角色状态信息 + loc: { x: 100, y: 150 } + // ... 其他角色属性 + }; + + return () => ( + + + + + ); +}); +``` + +### 完整地图预览 + +```tsx +import { defineComponent } from 'vue'; +import { Thumbnail } from '@user/client-modules'; + +export const MapPreviewCom = defineComponent(() => { + return () => ( + + ); +}); +``` + +--- + +## 注意事项 + +1. **楼层标识**: `floorId` 必须与游戏中的楼层标识匹配 +2. **比例控制**: `size` 参数控制缩略图与实际地图的比例关系 +3. **显示范围**: `all` 为 false 时,大地图只会显示当前可视区域 diff --git a/docs/guide/implements/index.md b/docs/guide/implements/index.md index 0b61d21..e1677ae 100644 --- a/docs/guide/implements/index.md +++ b/docs/guide/implements/index.md @@ -36,7 +36,6 @@ - [用函数声明属性](./special.md#拓展-用函数声明属性) - [地图伤害](./special.md#拓展-地图伤害) - [光环属性](./special.md#拓展-光环属性) - - [输出回合数](./special.md#拓展-输出回合数) - [主动技能](./skill.md) - [多技能设计思路](./skill.md#拓展-多技能设计思路) - [战后自动关闭技能](./skill.md#拓展-战后自动关闭技能) diff --git a/docs/guide/implements/special.md b/docs/guide/implements/special.md index 816c2fa..237289b 100644 --- a/docs/guide/implements/special.md +++ b/docs/guide/implements/special.md @@ -105,7 +105,7 @@ export const specials: SpecialDeclaration[] = [ 修改 `damage.ts` `calDamageWithTurn` 中的实现: ```ts -export function calDamageWith( +export function calDamageWithTurn( info: EnemyInfo, hero: Partial ): DamageWithTurn { diff --git a/docs/guide/ui/component.md b/docs/guide/ui/component.md index 4abfe33..4c1e4ba 100644 --- a/docs/guide/ui/component.md +++ b/docs/guide/ui/component.md @@ -536,21 +536,21 @@ export const MyCom = defineComponent(() => { - [ConfirmBox](../../api/user-client-modules/组件%20ConfirmBox.md):确认框,一般使用 `getConfirm` 接口,不直接使用组件。 - [Choices](../../api/user-client-modules/组件%20Choices.md):选择框,一般使用 `getChoice` 接口,不直接使用组件。 - +- [FloorSelector](../../api/user-client-modules/组件%20FloorSelector.md):楼层选择组件,浏览地图左侧的楼层选择就是使用的本组件。 - [图标组件](../../api/user-client-modules/图标组件.md):一些常用图标。 - - +- [Input](../../api/user-client-modules/组件%20Input.md):输入组件,可以放到组件内部,可以用于搜索栏等。 +- [InputBox](../../api/user-client-modules/组件%20InputBox.md):输入框组件,类似于确认框,一般使用 `getInput` 或 `getInputNumber` 接口,不使用本组件。 +- [List](../../api/user-client-modules/组件%20List.md):列表组件,可以用于展示一列内容。 +- [ListPage](../../api/user-client-modules/组件%20ListPage.md):左侧是列表,右侧是当前选项对应的详情页,可以用于游戏机制说明等。 - [Progress](../../api/user-client-modules/组件%20Progress.md):进度条组件,播放录像时右下角的进度条就是本组件。 - [Arrow](../../api/user-client-modules/组件%20Arrow.md):箭头组件,画一个箭头。 - [ScrollText](../../api/user-client-modules/组件%20ScrollText.md):滚动文本组件,可以用于长剧情或是 staff 表等。 - [Selection](../../api/user-client-modules/组件%20Selection.md):选择光标,列表组件的选择光标就是使用的本组件。 - [Background](../../api/user-client-modules/组件%20Background.md):背景组件,可以设置为纯色或 `winskin`。 - +- [WaitBox](../../api/user-client-modules/组件%20WaitBox.md):等待框,一般使用 `waitbox` 接口,不直接使用组件。 - [Page](../../api/user-client-modules/组件%20Page.md):分页组件,本文已经详细讲解。 - [Scroll](../../api/user-client-modules/组件%20Scroll.md):滚动条组件,本文已经详细讲解。 - [TextContent](../../api/user-client-modules/组件%20TextContent.md):多行文本组件,本文已经详细讲解。 - [Textbox](../../api/user-client-modules/组件%20Textbox.md):文本框组件,就是事件的显示文字,一般不会直接用。 - +- [Thumbnail](../../api/user-client-modules/组件%20Thumbnail.md):缩略图组件,用于展示某个地图的缩略图。 - [Tip](../../api/user-client-modules/组件%20Tip.md):提示组件,就是左上角的提示,一般不会直接使用。 diff --git a/packages-user/client-modules/src/render/components/thumbnail.tsx b/packages-user/client-modules/src/render/components/thumbnail.tsx index 00312ca..7f9ef51 100644 --- a/packages-user/client-modules/src/render/components/thumbnail.tsx +++ b/packages-user/client-modules/src/render/components/thumbnail.tsx @@ -22,7 +22,7 @@ export interface ThumbnailProps extends SpriteProps { damage?: boolean; all?: boolean; noHD?: boolean; - /** 缩略图的比例 */ + /** 缩略图的比例,1 表示与实际地图大小一致 */ size?: number; }