这个小节主要介绍下雪月Lua框架xLua.module.Trigger 文件夹

xLua.module.Trigger 文件夹提供了与触发器(Trigger)相关的功能,包括创建、操作和管理触发器。

1. 触发器的创建与注册

创建触发器

触发器可以通过 trigger:new() 方法创建。每个触发器可以包含多个事件和动作。

local trigger = require "xLua.module.Trigger"

-- 创建一个新的触发器
local myTrigger = trigger:new()

注册事件

触发器需要注册事件来监听特定的游戏事件。例如,单位死亡、玩家按下某个键等。

-- 注册一个事件到触发器
myTrigger:registerEvent("单位-死亡", function(event, params)
    print("单位死亡事件被触发")
end)

2. 添加动作

添加动作到触发器

触发器可以在事件触发时执行一系列动作。这些动作可以是简单的函数调用,也可以是复杂的逻辑处理。

-- 添加动作到触发器
myTrigger:addAction(function(event, params)
    print("执行触发器的动作")
end)

3. 启用和禁用触发器

启用触发器

触发器默认是启用状态,但可以通过 enable() 方法显式启用。

-- 启用触发器
myTrigger:enable()

禁用触发器

有时需要临时禁用触发器,以防止其响应事件。

-- 禁用触发器
myTrigger:disable()

4. 销毁触发器

销毁触发器

当不再需要触发器时,可以通过 destroy() 方法销毁它,释放相关资源。

-- 销毁触发器
myTrigger:destroy()

5. 示例

以下是一个简单的示例,展示了如何创建、添加动作触发器。


ocal function say_hello()
    print("你好!")
end

local trg2 = trigger:new()
trg2:action(say_hello())