Develop.Arg
启动参数
Develop.Attr
attr
y3.Const.UnitAttrunit
Unit单位
watch
(method) Develop.Attr:watch(value: Develop.Attr.Accept, callback: Develop.Attr.Watch.Callback)
-> Develop.Attr.Watch监控属性变化,当属性从“不满足条件”变化为“满足条件”时触发回调
@param value — 表达式,如 >= 100,== `最大生命`
@param callback — 回调函数
Develop.Attr.Accept
string|number|Develop.Attr.ConditionDevelop.Attr.Condition
fun(unit: Unit, value: number):booleanDevelop.Attr.Watch
attr
Develop.Attrcallback
fun(attr: Develop.Attr, watch: Develop.Attr.Watch)condition
(Develop.Attr.Condition)?conditionStr
string?isSatisfied
booleanremove
(method) Develop.Attr.Watch:remove()trigger
Trigger触发器
Develop.Attr.Watch.Callback
fun(attr: Develop.Attr, watch: Develop.Attr.Watch, oldValue: number)Develop.Code
on_sync
function Develop.Code.on_sync(id: string, handler: Develop.Code.SyncHandler)注册同步处理器
run
function Develop.Code.run(code: string, env?: table)
-> boolean
2. any执行本地代码
@param code — 要执行的代码
@param env — 执行环境
@return — 是否执行成功
@return — 执行结果
sync_run
function Develop.Code.sync_run(code: string, data?: table<string, any>, id?: string)
-> boolean
2. string?广播后同步执行代码,必须由本地发起
@param code — 要执行的代码
@param data — 数据,代码里可以直接访问到
@param id — 处理器ID
@return — 是否执行成功
@return — 错误消息
wrap_code
function Develop.Code.wrap_code(code: any, env: any)
-> function|nil
2. unknown|nil
3. string|nilDevelop.Code.SyncHandler
complete
fun(suc: boolean, result: any, data: any)代码执行后带着结果调用此函数
env
fun(data: any):table?返回一个表,用于作为执行环境
Develop.Command
作弊指令
该功能仅在开发模式有效
commands
{ [string]: Develop.Command.Info }execute
function Develop.Command.execute(command: string, ...any)执行作弊指令
getAllCommands
function Develop.Command.getAllCommands()
-> string[]getCommandInfo
function Develop.Command.getCommandInfo(command: string)
-> (Develop.Command.Info)?getParams
function Develop.Command.getParams()
-> Develop.Command.ExecuteParaminput
function Develop.Command.input(prefix: string, input: string, player?: Player)输入作弊指令
params
Develop.Command.ExecuteParamregister
function Develop.Command.register(command: string, info: function|Develop.Command.InfoParam)注册作弊指令(指令名称无视大小写)
Develop.Command.ExecuteParam
args
string[]命令参数
command
string输入的命令(和输入一致,不保证大小写状态)
player
Player调用命令的玩家
Develop.Command.Info
desc
string?name
stringneedSync
boolean?onCommand
fun(...any)?priority
numberDevelop.Command.InfoParam
desc
string?needSync
boolean?onCommand
fun(...any)?priority
number?Develop.Console
getHelpInfo
function Develop.Console.getHelpInfo()
-> stringinput
function Develop.Console.input(input: string)控制台输入
show_result
function Develop.Console.show_result(ok: boolean, result: any)
-> anyDevelop.Helper
awaitRequest
(async) function Develop.Helper.awaitRequest(method: string, params: table)
-> any向《Y3开发助手》发送请求(协程)
createAttrWatcher
function Develop.Helper.createAttrWatcher(unit: Unit, attrType: y3.Const.UnitAttr, condition?: Develop.Attr.Accept)
-> Develop.Helper.TreeNode在《Y3开发助手》上创建一个属性监视器
@param unit — 要监视的单位
@param attrType — 属性名
@param condition — 断点表达式,如 >= 100,<= `最大生命` / 2
createInputBox
function Develop.Helper.createInputBox(optional?: Develop.Helper.InputBox.Optional)
-> Develop.Helper.InputBox在《Y3开发助手》上创建一个输入框
createTreeNode
function Develop.Helper.createTreeNode(name: string, optional?: Develop.Helper.TreeNode.Optional)
-> Develop.Helper.TreeNode在《Y3开发助手》的树形视图上创建一个节点
createTreeView
function Develop.Helper.createTreeView(name: string, root: Develop.Helper.TreeNode)
-> Develop.Helper.TreeView在《Y3开发助手》的视图上创建一个树形视图
init
function Develop.Helper.init(port?: integer)初始化与《Y3开发助手》的连接。如果用VSCode启动游戏,会自动连接。 其他情况若有需求可以调用此函数连接。
isReady
function Develop.Helper.isReady()
-> boolean《Y3开发助手》是否准备好
notify
function Develop.Helper.notify(method: string, params: table)向《Y3开发助手》发送通知
onReady
function Develop.Helper.onReady(callback: fun())当《Y3开发助手》准备好时调用
prepareForRestart
function Develop.Helper.prepareForRestart(options: Develop.Helper.RestartOptions)准备重启游戏
function Develop.Helper.print(message: string)在《Y3开发助手》的终端上打印消息
registerMethod
function Develop.Helper.registerMethod(method: string, callback: fun(params: any):any)request
function Develop.Helper.request(method: string, params: table, callback?: fun(data: any))向《Y3开发助手》发送请求
@param callback — 接收返回值
requestCommand
function Develop.Helper.requestCommand(command: string, args?: any[], callback?: fun(result: any))response
function Develop.Helper.response(id: integer, result: any, err?: string)treeViewMap
{ [string]: Develop.Helper.TreeView }Develop.Helper.Attr
add
(method) Develop.Helper.Attr:add(unit: Unit, attr: y3.Const.UnitAttr)
-> Develop.Helper.TreeNode
2. fun(value: Develop.Attr.Accept)@return
@return — 设置断点
childs
Develop.Helper.TreeNode[]root
unknowntree
unknownDevelop.Helper.Attr.ModifyOptions
attr_type
(y3.Const.UnitAttrType)?can_create_watch
boolean?Develop.Helper.Explorer
attrLayout
string给这个变量重新赋值即可重新定义排版,语法自己研究吧
create
function Develop.Helper.Explorer.create()createGamePause
function Develop.Helper.Explorer.createGamePause()createGameSpeed
function Develop.Helper.Explorer.createGameSpeed()createGameTimer
function Develop.Helper.Explorer.createGameTimer()
-> Develop.Helper.TreeNodecreateMemoryWatcher
function Develop.Helper.Explorer.createMemoryWatcher()
-> Develop.Helper.TreeNodecreateRefWatcher
function Develop.Helper.Explorer.createRefWatcher()
-> Develop.Helper.TreeNodecreateReloadButton
function Develop.Helper.Explorer.createReloadButton()
-> unknowncreateRestartGameButton
function Develop.Helper.Explorer.createRestartGameButton()
-> unknowncreateRoot
function Develop.Helper.Explorer.createRoot(name: string)
-> Develop.Helper.TreeNodecreateSelectingButton
function Develop.Helper.Explorer.createSelectingButton()
-> unknowncreateTimerWatcher
function Develop.Helper.Explorer.createTimerWatcher()
-> Develop.Helper.TreeNodecreateTriggerWatcher
function Develop.Helper.Explorer.createTriggerWatcher()
-> Develop.Helper.TreeNodecreateUnitButton
function Develop.Helper.Explorer.createUnitButton(unit: Unit)
-> Develop.Helper.TreeNodegamePauseButton
unknowngamePaused
anygameSpeed
numbergameSpeedApply
booleangameSpeedButton
unknownDevelop.Helper.InputBox
id
integerignoreFocusOut
boolean是否在失去焦点时关闭
inputBoxMap
{ [integer]: Develop.Helper.InputBox }password
boolean是否是密码框
placeHolder
string占位符
prompt
string提示
remove
(method) Develop.Helper.InputBox:remove()删除输入框
show
(method) Develop.Helper.InputBox:show(callback: fun(value?: string))显示输入框
@param callback — 输入完成后的回调函数。如果用户取消输入,value 为 nil。
title
string标题
validateInput
fun(value: string):string|nil返回一个错误消息表示输入不合法
value
string初始值
valueSelection
[integer, integer]初始选中的文本范围(光标位置,第一个字符前为0)
Develop.Helper.InputBox.Optional
输入框的可选项,完全照抄的 VSCode 的接口
ignoreFocusOut
boolean是否在失去焦点时关闭
password
boolean是否是密码框
placeHolder
string占位符
prompt
string提示
title
string标题
validateInput
fun(value: string):string|nil返回一个错误消息表示输入不合法
value
string初始值
valueSelection
[integer, integer]初始选中的文本范围(光标位置,第一个字符前为0)
Develop.Helper.RestartOptions
debugger
boolean是否需要启动调试器。如果省略,会根据当前是否附加了调试器来决定是否需要调试器。
Develop.Helper.TreeNode
changeChecked
(method) Develop.Helper.TreeNode:changeChecked(checked: boolean)changeExpanded
(method) Develop.Helper.TreeNode:changeExpanded(expanded: boolean)changeVisible
(method) Develop.Helper.TreeNode:changeVisible(visible: boolean)check
boolean复选框状态
childs
Develop.Helper.TreeNode[]?description
string描述
icon
string图标
id
integerisExpanded
(method) Develop.Helper.TreeNode:isExpanded()
-> booleanisVisible
(method) Develop.Helper.TreeNode:isVisible()
-> booleanlastChilds
Develop.Helper.TreeNode[]?makeNodeInfo
(method) Develop.Helper.TreeNode:makeNodeInfo()
-> tablename
stringnodeMap
{ [integer]: Develop.Helper.TreeNode }optional
Develop.Helper.TreeNode.Optionalrefresh
(method) Develop.Helper.TreeNode:refresh()通知子节点有变化。
remove
(method) Develop.Helper.TreeNode:remove()tooltip
string提示
update
(method) Develop.Helper.TreeNode:update()更新此节点的数据(不包含子节点)。
Develop.Helper.TreeNode.Optional
check
boolean?复选框状态,应该要配合 onCheck 与 onUnCheck 使用
childs
Develop.Helper.TreeNode[]子节点列表。如果子节点计算量较大,可以改用 childsGetter 来获取子节点
childsGetter
fun(node: Develop.Helper.TreeNode):Develop.Helper.TreeNode[]当试图展开节点时,会调用这个函数获取子节点,和 childs 互斥
description
string?描述
icon
string?图标,见 https://code.visualstudio.com/api/references/icons-in-labels#icon-listing
onCheck
fun(node: Develop.Helper.TreeNode)当节点复选框被勾选时调用
onClick
fun(node: Develop.Helper.TreeNode)当节点被点击时调用
onCollapse
fun(node: Develop.Helper.TreeNode)当节点被折叠时调用
onExpand
fun(node: Develop.Helper.TreeNode)当节点被展开时调用
onInit
fun(node: Develop.Helper.TreeNode)当节点创建第一次可见时调用
onInvisible
fun(node: Develop.Helper.TreeNode)当节点看不到时调用
onUnCheck
fun(node: Develop.Helper.TreeNode)当节点复选框被取消勾选时调用
onVisible
fun(node: Develop.Helper.TreeNode)当节点能被看到时调用
tooltip
string?提示
Develop.Helper.TreeView
id
integername
stringremove
(method) Develop.Helper.TreeView:remove()root
Develop.Helper.TreeNodeDevelop.TimerWatcher
count
function Develop.TimerWatcher.count()
-> table<string, { all: integer, alive: integer }>Develop.TriggerWatcher
activeWatcher
unknowncount
function Develop.TriggerWatcher.count()
-> { all: integer, alive: integer }lastWatcher
Develop.TriggerWatcherInstancereport
function Develop.TriggerWatcher.report()
-> { count: integer, cost: number, time: number, average: number, tops: string[] }|nil获取监控报告
start
function Develop.TriggerWatcher.start()开始监控触发器
stop
function Develop.TriggerWatcher.stop()停止监控触发器
Develop.TriggerWatcherInstance
endTime
unknown结束时间(毫秒)
makeReport
(method) Develop.TriggerWatcherInstance:makeReport(inTime?: number, topCount?: integer)
-> { count: integer, cost: number, time: number, average: number, tops: string[] }@param inTime — 只统计最后X秒的数据
@param topCount — 统计前X个耗时最长的函数位置
originalExecute
functionrunnedCallback
tablerunnedClock
tablerunnedCost
tablestartTime
unknown开始时间(毫秒)

