mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-30 03:03:24 +08:00
2.8 KiB
2.8 KiB
类 SettingDisplayer
渲染进程类,游戏进程不可直接使用,继承自 EventEmitter
- 实例属性
- 实例方法
- 构造器
constructor
add
cut
updata
- 构造器
- 实例事件
setting
declare var setting: MotaSetting
-
成员说明
该成员描述了当前显示实例的设置
selectStack
declare var selectStack: string[]
-
成员说明
该成员描述了当前的设置选择栈,例如当选中了级联设置
setting1.setting2
时,选择栈就是['setting1', 'setting2']
displayInfo
declare var displayInfo: SettingDisplayInfo[]
-
成员说明
该成员是响应式对象(
reactive
),描述了当前设置的所有显示信息,包含父设置(级联设置)的信息,一般情况下信息与选择栈同步。 -
接口
SettingDisplayInfo
interface SettingDisplayInfo { item: MotaSettingItem | null; list: Record<string, MotaSettingItem>; text: string[]; }
- 详细说明
item
: 描述了当前设置的信息,当没有选择设置或选择的是级联设置的时候为null
list
: 这个设置的选择栈text
: 显示的文字信息,经由split
处理,分割字符为\n
,可以经过splitText
函数处理后直接显示
- 详细说明
constructor()
interface SettingDisplayer {
new(setting: MotaSetting): SettingDisplayer
}
-
构造器说明
传入要显示的设置实例,返回一个显示器实例
add()
declare function add(key: string): void
-
方法说明
该方法用于向选择栈里面添加一个选择项,例如现在我选择了
setting2
,那么就应该调用add('setting2')
cut()
declare function cut(index: number, noUpdate: boolean = false): void
-
参数说明
index
: 从第几个元素开始剪切,即第一个剪切项的索引noUpdate
: 是否不进行刷新
-
方法说明
该方法用于剪切选择栈,例如我从选择支
s1.s2.s3.s4
切换至了s1.s6
,那么应该先调用cut(1)
,再调用add('s6')
update()
declare function update(): void
-
方法说明
用于更新选择栈显示信息
update 事件
interface SettingDisplayerEvent {
update: (stack: string[], display: SettingDisplayInfo[]) => void
}
-
事件说明
该事件会在选择栈更新时触发,传入的参数分别是当前的选择栈和当前选择栈显示信息