• API(eca&lua)
  • Lua
  • API
  • Develop

Develop.Arg

启动参数

Develop.Attr

attr

y3.Const.UnitAttr

unit

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.Condition

Develop.Attr.Condition

fun(unit: Unit, value: number):boolean

Develop.Attr.Watch

attr

Develop.Attr

callback

fun(attr: Develop.Attr, watch: Develop.Attr.Watch)

condition

(Develop.Attr.Condition)?

conditionStr

string?

isSatisfied

boolean

remove

(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|nil

Develop.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.ExecuteParam

input

function Develop.Command.input(prefix: string, input: string, player?: Player)

输入作弊指令

params

Develop.Command.ExecuteParam

register

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

string

needSync

boolean?

onCommand

fun(...any)?

priority

number

Develop.Command.InfoParam

desc

string?

needSync

boolean?

onCommand

fun(...any)?

priority

number?

Develop.Console

getHelpInfo

function Develop.Console.getHelpInfo()
  -> string

input

function Develop.Console.input(input: string)

控制台输入

show_result

function Develop.Console.show_result(ok: boolean, result: any)
  -> any

Develop.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)

准备重启游戏

print

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

unknown

tree

unknown

Develop.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.TreeNode

createMemoryWatcher

function Develop.Helper.Explorer.createMemoryWatcher()
  -> Develop.Helper.TreeNode

createRefWatcher

function Develop.Helper.Explorer.createRefWatcher()
  -> Develop.Helper.TreeNode

createReloadButton

function Develop.Helper.Explorer.createReloadButton()
  -> unknown

createRestartGameButton

function Develop.Helper.Explorer.createRestartGameButton()
  -> unknown

createRoot

function Develop.Helper.Explorer.createRoot(name: string)
  -> Develop.Helper.TreeNode

createSelectingButton

function Develop.Helper.Explorer.createSelectingButton()
  -> unknown

createTimerWatcher

function Develop.Helper.Explorer.createTimerWatcher()
  -> Develop.Helper.TreeNode

createTriggerWatcher

function Develop.Helper.Explorer.createTriggerWatcher()
  -> Develop.Helper.TreeNode

createUnitButton

function Develop.Helper.Explorer.createUnitButton(unit: Unit)
  -> Develop.Helper.TreeNode

gamePauseButton

unknown

gamePaused

any

gameSpeed

number

gameSpeedApply

boolean

gameSpeedButton

unknown

Develop.Helper.InputBox

id

integer

ignoreFocusOut

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 — 输入完成后的回调函数。如果用户取消输入,valuenil

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

integer

isExpanded

(method) Develop.Helper.TreeNode:isExpanded()
  -> boolean

isVisible

(method) Develop.Helper.TreeNode:isVisible()
  -> boolean

lastChilds

Develop.Helper.TreeNode[]?

makeNodeInfo

(method) Develop.Helper.TreeNode:makeNodeInfo()
  -> table

name

string

nodeMap

{ [integer]: Develop.Helper.TreeNode }

optional

Develop.Helper.TreeNode.Optional

refresh

(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?

复选框状态,应该要配合 onCheckonUnCheck 使用

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

integer

name

string

remove

(method) Develop.Helper.TreeView:remove()

root

Develop.Helper.TreeNode

Develop.TimerWatcher

count

function Develop.TimerWatcher.count()
  -> table<string, { all: integer, alive: integer }>

Develop.TriggerWatcher

activeWatcher

unknown

count

function Develop.TriggerWatcher.count()
  -> { all: integer, alive: integer }

lastWatcher

Develop.TriggerWatcherInstance

report

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

function

runnedCallback

table

runnedClock

table

runnedCost

table

startTime

unknown

开始时间(毫秒)