# MiniExtend Object

对应源文件: object.lua

MiniExtend Object 主要是为 MiniExtend EventMiniExtend UI 设定的。

目前 MiniExtend Object 内容较少,且主要以理解为主。

Object 的核心是一个叫 objid 的虚有值(其实是局部变量),objid 默认为 0 。

在调用 MiniExtend 的一些函数时, objid 会作为游戏对象 id 参数(参数名以id结尾,如 playerid )的默认值。

# 注意事项

在延时调用中是不会有正确的 objid 值的,在 registerEvent 回调中要特别注意。

因为在发动延时调用后,回调函数会正常结束,然后会恢复 objid 的值,这时已经失去了理想的 objid 的值。

# 函数介绍

以下函数都是在 _GScriptFenv_ 中的全局函数。

# getObjectId

---@return any 取到的值
function getObjectId() end

获取 objid 的值。

# setObjectId

---@param objectid integer 要设置的值
function setObjectId(objectid) end

设置 objid 的值。

# 代码示例

TIP

对于 UI.UIView:show 函数,你可以不传递 playerid 参数调用该函数,这时 objid 将代替 playerid 参数。

registerEvent 的回调中, objid 会被临时地设置为 param["eventobjid"]

实例功能:玩家进入游戏后打开 uiview 界面。

Env.__init__()

---UI 界面 id
local uiid = [[]]

---引用对应的 UI 界面
uiview = UI.UIView:new(uiid)

registerEvent([[Game.AnyPlayer.EnterGame]], function(param)
	-- objid 已被隐式地设置为 param.eventobjid
	-- 等价于调用 uiview:show(getObjectId())
	uiview:show()
end, uiid)
Last Updated: 1/8/2023, 8:39:15 AM