说明:覆盖蓝图事件时,只需要在返回的table中声明 Receive{EventName}
例如:
function M:ReceiveBeginPlay()
end
除了蓝图事件可以覆盖,也可以直接声明 {FunctionName} 来覆盖Function。
如果需要调用被覆盖的蓝图Function,可以通过 self.Overridden.{FunctionName}(self, ...) 来访问
例如:
function M:SayHi(name)
self.Overridden.SayHi(self, name)
end
注意:这里不可以写成 self.Overridden:SayHi(name)
]]
local Screen = require "Tutorials.Screen"
local M = UnLua.Class()
function M:ReceiveBeginPlay()
local msg = self:SayHi("陌生人")
Screen.Print(msg)
end
function M:SayHi(name)
local origin = self.Overridden.SayHi(self, name)
return origin .. "\n\n" ..
[[现在我们已经相互熟悉了,这是来自Lua的问候。
—— 本示例来自 "Content/Script/Tutorials.02_OverrideBlueprintEvents.lua"
]]
end
return M