# miniExtend Object

对应源文件: time.lua

在阅读 miniExtend EventminiExtend CustomUI 前, 可能很难理解这部分的强大功能。这是很正常的。

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

Object 的核心是 _G2["__OBJID"] ,以下简称 objid

在调用 miniExtend 的一些函数时, objid 会作为游戏对象默认参数(参数名形如 ...id ,如 playerid)。

# 函数介绍

WARNING

miniExtend 没有 Object 作用域,以下函数都是全局函数

# getObjectId

参数:无。

返回 objid 的值。

为了更好的兼容性,你应该使用 getObjidId() 函数获取 objid 的值,而不是直接从 _G2 中取。

# setObjectId

设置 _G2["__OBJID"] 的值。

参数:

  • objid :需要设置 _G2["__OBJID"] 的新值。

TIP

由于命名冲突,这里 objid 表示 objid 参数。

如果 objid 是一个数字,直接设置 _G2["__OBJID"]objid ,不会检查 objid 是否合法。

如果 objid 是一个表,且 eventobjid 键对应的值为 number 类型,设置 _G2["__OBJID"]objid["eventobjid"] 。这在事件的回调中非常有用,只需传递回调函数的表参数,就能自动索引 eventobjid 键。

# 示例

对于CustomUI.UIView.show([playerid]) ,你可以不传递 playerid 参数调用该函数,这时 objid 将代替 playerid 参数。

以下代码假设你已经搭建好 miniExtend UI 环境了。

示例功能:当任意玩家进入游戏时,玩家会打开 uiview 界面。







 
 
 


-- 需替换为 UI 界面 id
local uiid = [[]]

uiview = CustomUI:newUIView(uiid)
-- 任意玩家进入游戏事件
Event:connect([[Game.AnyPlayer.EnterGame]], function(param)
	-- 注意:objid 已被隐式地设置为 param.eventobjid
	-- 等价于调用 uiview:show(getObjectId())
	uiview:show()
end, uiid)