数据共享器

在不同模块和系统间共享数据

介绍#

mk.dataSharer 主要解决了动态数据共享问题,例如货币展示的位置、玩家的头像位置等等。同时也支持静态数据,也支持所有数据的重置

创建#

class Data {
    test = 1;
}

let data = mk.dataSharer(Data);

属性#

key#

数据键,你可以通过 key 属性获取到所有的数据键,可让编辑器自动提示且方便同步修改键名


方法#

request#

请求数据,如果数据为 undefined,则等待返回下次的赋值数据

示例#

data.request(data.key.test)

参数#

request(key_)

  • key_: 请求的数据键

reset#

重置数据,重置当前所有数据到 class 中的默认值或者参数传递的数据源,例如 data.test = 2 后调用 reset(),那么 test 将变为默认值 1

示例#

data.reset()
data.reset(data_)

参数#

data.reset(data_)

  • data_: 可选,重置数据来源,默认为 new class

source#

原始数据,mk.dataSharer 返回的是一个 Proxy 对象,而 source 则是这个对象的原始数据, 你可以用于数据监听、获取值(避免 Proxy 性能更好)、设置值(避免 Proxy 性能更好,但是会跳过 request)

示例#

let a = data.source.test


示例#

设置数据#

data.test = 0

获取数据(同步)#

let a = data.test