This commit is contained in:
2023-12-22 20:10:52 +08:00
parent f2cb2e3787
commit bb9397e934

View File

@@ -1,5 +1,5 @@
-- 猫猫虫的 LuaEngine 插件管理框架
-- @version: 1.0.2
-- @version: 1.0.3
--
-- 自动加载以下目录的lua模块
-- ./eigeen_modules
@@ -31,6 +31,7 @@ local MODULE_ROOT = "./Lua/eigeen_modules"
-- globals
-- 所有模块列表仅在初始化时加载。后续处理都基于此列表因此增删改mod需要重载此框架。
local Modules = {}
local Ctx = {}
-- 需要执行的模块函数,每次执行前进行处理。
local ExecuteModules = {}
@@ -195,7 +196,7 @@ end
function on_time()
local playerData = engine.Player:new()
local ctx = {
Ctx = {
playerData = playerData,
worldData = engine.World:new(),
questData = engine.Quest:new(),
@@ -203,33 +204,28 @@ function on_time()
Keypad = Keypad
}
-- local MetaCtx = {
-- Speed = Speed:new(ctx.playerData),
-- Speed = Speed:new(Ctx.playerData),
-- Keypad = Keypad
-- }
-- MetaCtx.__index = MetaCtx
-- setmetatable(ctx, MetaCtx)
-- setmetatable(Ctx, MetaCtx)
-- 建立遍历专用表而不是遍历modules主表。条件判断操作更改后刷新遍历专用表。
local wpType = ctx.playerData.Weapon.type
if ctx.playerData.Weapon.type ~= LastWeaponType then
ExecuteModules = buildExecuteModules(ctx)
LastWeaponType = ctx.playerData.Weapon.type
local wpType = Ctx.playerData.Weapon.type
if Ctx.playerData.Weapon.type ~= LastWeaponType then
ExecuteModules = buildExecuteModules(Ctx)
LastWeaponType = Ctx.playerData.Weapon.type
end
if ctx.worldData.MapId ~= LastMapID then
ExecuteModules = buildExecuteModules(ctx)
LastMapID = ctx.worldData.MapId
if Ctx.worldData.MapId ~= LastMapID then
ExecuteModules = buildExecuteModules(Ctx)
LastMapID = Ctx.worldData.MapId
end
-- 执行onTime方法
executeOnTime(ctx, ExecuteModules)
executeOnTime(Ctx, ExecuteModules)
end
function on_imgui()
local ctx = {
playerData = engine.Player:new(),
worldData = engine.World:new(),
questData = engine.Quest:new()
}
executeOnImgui(ctx, ExecuteModules)
executeOnImgui(Ctx, ExecuteModules)
end
function on_init()
@@ -238,12 +234,7 @@ function on_init()
end
function on_switch_scenes()
local ctx = {
playerData = engine.Player:new(),
worldData = engine.World:new(),
questData = engine.Quest:new()
}
executeOnSwitchScenes(ctx, ExecuteModules)
executeOnSwitchScenes(Ctx, ExecuteModules)
end
function on_monster_create()