mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-19 17:16:08 +08:00
190 lines
3.5 KiB
Markdown
190 lines
3.5 KiB
Markdown
# 类 Focus
|
|
|
|
渲染进程类,在游戏进程中不可直接使用,继承自 [`EventEmitter`](./event-emitter.md)
|
|
|
|
- 实例属性
|
|
- [`stack`](#stack)
|
|
- [`focused`](#focused)
|
|
- [`readonly equal`](#readonly-equal)
|
|
- 实例方法
|
|
- 构造器[`constructor`](#constructor)
|
|
- [`focus`](#focus)
|
|
- [`unfocus`](#unfocus)
|
|
- [`add`](#add)
|
|
- [`pop`](#pop)
|
|
- [`splice`](#splice)
|
|
- [`spliceIndex`](#spliceindex)
|
|
- 实例事件
|
|
- [`focus`](#focus-事件)
|
|
- [`unfocus`](#unfocus-事件)
|
|
- [`add`](#add-事件)
|
|
- [`pop`](#pop-事件)
|
|
- [`splice`](#splice-事件)
|
|
|
|
## stack
|
|
|
|
```ts
|
|
declare var stack: any[]
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
该成员描述了当前列表的显示栈
|
|
|
|
## focused
|
|
|
|
```ts
|
|
declare var focused: any | null
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
该成员描述了当聚焦于的元素
|
|
|
|
## readonly equal
|
|
|
|
```ts
|
|
declare const equal: boolean
|
|
```
|
|
|
|
- 成员说明
|
|
|
|
该成员描述了不同元素间的关系,当该项为 `true` 时,表示成员间为平等关系,删除任意一项不会影响其他项,而为 `false` 时,删除一项后会将其之后的所有项一并删除
|
|
|
|
## consturctor()
|
|
|
|
```ts
|
|
interface Focus {
|
|
new(react: boolean = false, equal: boolean = false): Focus
|
|
}
|
|
```
|
|
|
|
- 参数说明
|
|
- `react`: 显示栈是否设置为浅层响应式(`shallowReactive`)变量
|
|
- `equal`: 成员关系是否为平等关系
|
|
|
|
## focus()
|
|
|
|
```ts
|
|
declare function focus(target: any, add: boolean = false): void
|
|
```
|
|
|
|
- 参数说明
|
|
|
|
- `target`: 聚焦目标,是聚焦目标的引用,而非索引
|
|
- `add`: 当聚焦目标不存在时,是否自动追加到显示栈末尾
|
|
|
|
- 方法说明
|
|
|
|
该方法用于聚焦于一个显示元素
|
|
|
|
## unfocus()
|
|
|
|
```ts
|
|
declare function unfocus(): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
该方法用于取消聚焦显示元素
|
|
|
|
## add()
|
|
|
|
```ts
|
|
declare function add(item: any): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
该方法用于在显示栈末尾追加一个元素
|
|
|
|
## pop()
|
|
|
|
```ts
|
|
declare function pop(): any | null
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
弹出显示栈末尾的元素
|
|
|
|
## splice()
|
|
|
|
```ts
|
|
declare function splice(item: any): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
方法用于裁切显示栈,对于平等模式,只会删除对应元素,而对于非平等模式,其之后的所有元素都会被删除
|
|
|
|
## spliceIndex()
|
|
|
|
```ts
|
|
declare function spliceIndex(index: number): void
|
|
```
|
|
|
|
- 方法说明
|
|
|
|
根据索引裁切显示栈,与 [`splice`](#splice) 方法类似
|
|
|
|
## focus 事件
|
|
|
|
```ts
|
|
interface FocusEvent {
|
|
focus: (before: any | null, after: any) => void
|
|
}
|
|
```
|
|
|
|
- 事件说明
|
|
|
|
当聚焦于一个元素时,该事件会被触发,传入之前聚焦的元素以及当前聚焦的元素作为参数
|
|
|
|
## unfocus 事件
|
|
|
|
```ts
|
|
interface FocusEvent {
|
|
unfocus: (before: any | null) => void
|
|
}
|
|
```
|
|
|
|
- 事件说明
|
|
|
|
当取消聚焦元素时,该事件被触发,传入之前聚焦于的元素作为参数
|
|
|
|
## add 事件
|
|
|
|
```ts
|
|
interface FocusEvent {
|
|
add: (item: any) => void
|
|
}
|
|
```
|
|
|
|
- 事件说明
|
|
|
|
当向显示栈内添加内容时,该事件被触发,传入添加的元素作为参数
|
|
|
|
## pop 事件
|
|
|
|
```ts
|
|
interface FocusEvent {
|
|
pop: (item: any | null) => void
|
|
}
|
|
```
|
|
|
|
- 事件说明
|
|
|
|
当弹出显示栈的末尾元素时,该事件被触发,传入弹出的元素作为参数
|
|
|
|
## splice 事件
|
|
|
|
```ts
|
|
interface FocusEvent {
|
|
splice: (spliced: any[]) => void
|
|
}
|
|
```
|
|
|
|
- 事件说明
|
|
|
|
当显示栈被裁切时,该事件被触发,传入所有被裁切的元素组成的数组作为参数
|