From a12128ea07b11b34e6b0be2cc059471c11674cb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Wed, 27 Nov 2024 04:40:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=94=B9=E9=80=A0=E2=80=A6=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/server/events/init.lua | 14 ++++++++++---- lua/server/gamelogic.lua | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lua/server/events/init.lua b/lua/server/events/init.lua index 41536a4..e006e5f 100644 --- a/lua/server/events/init.lua +++ b/lua/server/events/init.lua @@ -61,10 +61,16 @@ table.assign(GameEventWrappers, tmp[2]) for _, l in ipairs(Fk._custom_events) do local name, p, m, c, e = l.name, l.p, l.m, l.c, l.e - GameEvent.prepare_funcs[name] = p - GameEvent.functions[name] = m - GameEvent.cleaners[name] = c - GameEvent.exit_funcs[name] = e + -- GameEvent.prepare_funcs[name] = p + -- GameEvent.functions[name] = m + -- GameEvent.cleaners[name] = c + -- GameEvent.exit_funcs[name] = e + local custom = GameEvent:subclass(name) + custom.prepare = p + custom.main = m + custom.clear = c + custom.exit = e + GameEvent[name] = custom end return GameEventWrappers diff --git a/lua/server/gamelogic.lua b/lua/server/gamelogic.lua index cafd6d4..6ef6293 100644 --- a/lua/server/gamelogic.lua +++ b/lua/server/gamelogic.lua @@ -573,7 +573,7 @@ end -- 在指定历史范围中找至多n个符合条件的事件 ---@param eventType GameEvent @ 要查找的事件类型 ---@param n integer @ 最多找多少个 ----@param func fun(e: GameEvent): boolean @ 过滤用的函数 +---@param func fun(e: GameEvent): bool @ 过滤用的函数 ---@param scope integer @ 查询历史范围,只能是当前阶段/回合/轮次 ---@return GameEvent[] @ 找到的符合条件的所有事件,最多n个但不保证有n个 function GameLogic:getEventsOfScope(eventType, n, func, scope) @@ -595,7 +595,7 @@ end -- 在指定历史范围中找符合条件的事件(逆序) ---@param eventType GameEvent @ 要查找的事件类型 ----@param func fun(e: GameEvent): boolean @ 过滤用的函数 +---@param func fun(e: GameEvent): bool @ 过滤用的函数 ---@param n integer @ 最多找多少个 ---@param end_id integer @ 查询历史范围:从最后的事件开始逆序查找直到id为end_id的事件(不含) ---@return GameEvent[] @ 找到的符合条件的所有事件,最多n个但不保证有n个 -- Gitee From 016245e2304634c1c43fde329191d648750fde5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Wed, 27 Nov 2024 17:19:53 +0800 Subject: [PATCH 2/2] fix --- lua/server/gamelogic.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/server/gamelogic.lua b/lua/server/gamelogic.lua index 6ef6293..fd9c3ca 100644 --- a/lua/server/gamelogic.lua +++ b/lua/server/gamelogic.lua @@ -573,7 +573,7 @@ end -- 在指定历史范围中找至多n个符合条件的事件 ---@param eventType GameEvent @ 要查找的事件类型 ---@param n integer @ 最多找多少个 ----@param func fun(e: GameEvent): bool @ 过滤用的函数 +---@param func fun(e: GameEvent): boolean? @ 过滤用的函数 ---@param scope integer @ 查询历史范围,只能是当前阶段/回合/轮次 ---@return GameEvent[] @ 找到的符合条件的所有事件,最多n个但不保证有n个 function GameLogic:getEventsOfScope(eventType, n, func, scope) @@ -595,7 +595,7 @@ end -- 在指定历史范围中找符合条件的事件(逆序) ---@param eventType GameEvent @ 要查找的事件类型 ----@param func fun(e: GameEvent): bool @ 过滤用的函数 +---@param func fun(e: GameEvent): boolean? @ 过滤用的函数 ---@param n integer @ 最多找多少个 ---@param end_id integer @ 查询历史范围:从最后的事件开始逆序查找直到id为end_id的事件(不含) ---@return GameEvent[] @ 找到的符合条件的所有事件,最多n个但不保证有n个 -- Gitee