Reflection
setscriptable
将 Roblox property 的 scriptable override 存入 scriptable override cache,并返回 previous scriptable state。第一个参数必须是 Instance object,第二个参数必须是 string property name,第三个参数必须是 boolean。如果同一 instance reference 和 property name 已有 cache entry,则替换 cached scriptable value,并返回旧的 cached value。cache miss 时,通过 Roblox property metadata 和 Instance class descriptor 解析 property name。如果 descriptor 不存在,或解析到的 field 缺失,或不是 property entry,function 返回 nil。找到 property entry 时,function 读取 scriptable state,把请求的 boolean 和 property reference 存入 scriptable override cache,然后返回 previous scriptable state value。GameIndexHook 和 GameNewIndexHook 稍后会使用这个 cache,在一次 indexed read 或 write 期间临时设置 property field scriptable flag,然后恢复 previous field flag。
Instance
必填
作为 scriptable override cache key 一部分使用的 Instance object。
string
必填
cache miss 时通过 Roblox property metadata 和 Instance class descriptor 解析的 property name。
boolean
必填
要存入 scriptable override cache 的 scriptable override value。
boolean | nil
Previous cached scriptable value、previous scriptable state value,或 property 无法解析为 property entry 时的 nil。