mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-19 17:16:08 +08:00
7.2 KiB
7.2 KiB
类 MotaSetting
渲染进程类,在游戏进程不可直接使用,继承自 EventEmitter
- 实例成员
- 实例方法
- 静态成员
- 实例事件
readonly list
declare const list: Record<string, MotaSettingItem>
-
成员说明
该成员描述了这个设置实例在这一级设置中的所有设置。理论上其所有成员都是只读的。
-
接口
MotaSettingItem
interface MotaSettingItem<T extends MotaSettingType = MotaSettingType> { name: string; // 设置的显示名称 key: string; // 设置的名称(id) value: T; // 设置当前的值 controller: SettingComponent; // 设置的编辑组件 description?: string; // 设置的说明文字 defaults?: boolean | number; // 设置的默认值 step?: [number, number, number]; // 数字型设置的步长信息 display?: (value: T) => string; // 设置显示函数 }
-
详细说明
name
: 设置的显示名称,例如宝石血瓶显伤
key
: 设置的名称,也就是设置的 id,不能包含.
value
: 设置当前的值,可以是数字、布尔值和设置实例,该项是设置实例时表示级联设置。通过方法setValue
设置,在设置时不可更改数据类型controller
: 设置的编辑组件,可以通过setValueController
方法设置,一般在注册设置的时候指定description
: 设置的说明文字,如果使用默认的设置 UI 的话,会显示在右方defaults
: 设置的默认值,在注册后,如果没有设置,那么设置就会是这个值。当设置是一个级联设置的时候,该项为undefined
step
: 当此项设置为数字型设置时,该成员表示步长信息,第一项表示最小值,第二项表示最大值,第三项表示单步步长display
: 设置的显示函数,如果设置了,那么显示的值会是它的返回值,参考指南
-
reset()
declare function reset(setting: Record<string, number | boolean>): void
-
参数说明
setting
: 重设的设置信息,是一系列键值对,键表示设置的 id,值表示设置的值,例如{ 'mySetting1.mySetting2': 123 }
-
方法说明
该方法用于重设设置,一般用于初始化设置信息
register()
// overload 1
declare function register(
key: string,
name: string,
value: number,
com?: SettingComponent,
step?: [number, number, number]
): this
// overload 2
declare function register(
key: string,
name: string,
value: boolean | MotaSetting,
com?: SettingComponent
): this
-
用法一
-
参数说明
key
: 要注册的设置名称,也就是 id,不能包含.
name
: 设置的显示名称value
: 设置的初始值(默认值)com
: 设置的编辑组件,也就是右侧设置说明下方的内容step
: 步长信息,是一个数组,第一项表示最小值,第二项表示最大值,第三项表示单步步长
-
方法说明
该用法用于注册一个数字型设置
-
-
用法二
-
参数说明
key
: 要注册的设置名称,也就是 id,不能包含.
name
: 设置的显示名称value
: 设置的初始值(默认值),或者是级联设置com
: 设置的编辑组件,也就是右侧设置说明下方的内容
-
方法说明
该用法用于注册一个布尔型变量,或者是级联设置。当
value
传递一个设置实例的时候,会认为是级联设置
-
getSetting()
declare function getSetting(key: string): Readonly<MotaSettingItem | null>
-
参数说明
key
: 设置的键名,对于级联设置,使用.
进行连接,例如mySetting1.mySetting2
-
返回值
该函数返回获取到的设置,如果没有获取到设置,会抛出错误。获取的返回值理论上(在 ts 下)是只读的,不允许修改。
-
方法说明
该方法用于获取到一个设置
setValue()
declare function setValue(key: string, value: boolean | number): void
-
方法说明
该方法用于设置一个设置的值,接受设置键名,以及要设置为的值为参数。
-
示例
mySetting.setValue('mySetting1.mySetting2', 200);
addValue()
declare function addValue(key: string, value: number): void
-
方法说明
该方法用于增减一个数字型设置的值,其中
value
表示增减的多少 -
示例
mySetting.addValue('mySetting1.mySetting2', 100); // 增加100,减少100可以填-100
getValue()
declare function getValue(
key: string,
defaultValue?: boolean | number
): boolean | number
-
参数说明
key
: 设置的键名defaultValue
: 当设置或设置的值不存在,或者设置是一个级联设置时,返回的默认值
-
方法说明
用于获取一个设置的值,当设置或设置的值不存在,或者设置是一个级联设置时,会返回默认值
setDisplayFunc()
declare function setDisplayFunc(
key: string,
func: (value: boolean | number) => string
): this
-
参数说明
key
: 设置的键名func
: 显示函数,接受当前设置的值作为参数,返回一个字符串作为显示值
-
示例
mySetting.setDisplayFunc('mySetting1.mySetting2', value => value ? '宝石' : '血瓶');
setValueController()
declare function setValueController(key: string, com: SettingComponent): this
-
参数说明
key
: 设置的键名com
: 要设置成的编辑组件,以函数式组件为宜
setDescription()
declare function setDescription(key: string, desc: string): this
-
参数说明
key
: 设置的键名desc
: 要设置成的描述信息,允许 html 元素的出现
noStorage
declare var noStorage: string[]
-
静态成员说明
该成员描述了所有不计入本地存储的样板自带设置的键名
-
示例
MotaSetting.noStorage.push('mySetting');
valueChange 事件
interface MotaSettingEvent {
valueChange: <T extends boolean | number>(
key: string,
newValue: T,
oldValue: T
) => void
}
-
事件说明
当设置的值被设置时触发该事件,传入设置的键名、新值、旧值作为参数