Files
Endfield-Data/LuaScripts/LuaSystem/LuaSystemManager.lua
2025-12-02 20:37:18 +07:00

145 lines
3.1 KiB
Lua

LuaSystemManager = HL.Class('LuaSystemManager')
LuaSystemManager.inited = HL.Field(HL.Boolean) << false
LuaSystemManager.factory = HL.Field(HL.Forward('FacLuaSystem'))
LuaSystemManager.mainHudActionQueue = HL.Field(HL.Forward('MainHudActionQueueSystem'))
LuaSystemManager.audioEventSystem = HL.Field(HL.Forward('AudioEventLuaSystem'))
LuaSystemManager.commonIntTriggerSystem = HL.Field(HL.Forward('CommonIntTriggerSystem'))
LuaSystemManager.gachaSystem = HL.Field(HL.Forward('GachaSystem'))
LuaSystemManager.levelWorldUISystem = HL.Field(HL.Forward('LevelWorldUISystem'))
LuaSystemManager.loginCheckSystem = HL.Field(HL.Forward('LoginCheckSystem'))
LuaSystemManager.commonTaskTrackSystem = HL.Field(HL.Forward('CommonTaskTrackSystem'))
LuaSystemManager.itemPrefabSystem = HL.Field(HL.Forward('ItemPrefabSystem'))
LuaSystemManager.mapResourceSystem = HL.Field(HL.Forward('MapResourceSystem'))
LuaSystemManager.cinematicSystem = HL.Field(HL.Forward('CinematicSystem'))
LuaSystemManager.radioSystem = HL.Field(HL.Forward('RadioSystem'))
LuaSystemManager.uiRestoreSystem = HL.Field(HL.Forward('UIRestoreSystem'))
LuaSystemManager.InitSystems = HL.Method() << function(self)
logger.info("LuaSystemManager.InitSystems")
self.inited = true
self.factory = self:_AddSystem("FacLuaSystem")
self.audioEventSystem = self:_AddSystem("AudioEventLuaSystem")
self.commonIntTriggerSystem = self:_AddSystem("CommonIntTriggerSystem")
self.mainHudActionQueue = self:_AddSystem("MainHudActionQueueSystem")
self.gachaSystem = self:_AddSystem("GachaSystem")
self.levelWorldUISystem = self:_AddSystem("LevelWorldUISystem")
self.loginCheckSystem = self:_AddSystem("LoginCheckSystem")
self.commonTaskTrackSystem = self:_AddSystem("CommonTaskTrackSystem")
self.itemPrefabSystem = self:_AddSystem("ItemPrefabSystem")
self.mapResourceSystem = self:_AddSystem("MapResourceSystem")
self.cinematicSystem = self:_AddSystem("CinematicSystem")
self.radioSystem = self:_AddSystem("RadioSystem")
self.uiRestoreSystem = self:_AddSystem("UIRestoreSystem")
end
LuaSystemManager.LuaSystemManager = HL.Constructor() << function(self)
Register(MessageConst.INIT_LUA_SYSTEM_MANAGER, function(arg)
self:InitSystems()
end, self)
Register(MessageConst.RELEASE_LUA_SYSTEM_MANAGER, function(arg)
self:ReleaseSystems()
end, self)
self.m_systemList = {}
end
LuaSystemManager.m_systemList = HL.Field(HL.Table)
LuaSystemManager._AddSystem = HL.Method(HL.String).Return(HL.Forward('LuaSystemBase')) << function(self, systemName)
local class = require_ex("LuaSystem/" .. systemName)
local system = class()
table.insert(self.m_systemList, system)
system:OnInit()
return system
end
LuaSystemManager.ReleaseSystems = HL.Method() << function(self)
logger.info("LuaSystemManager.ReleaseSystems")
for k = #self.m_systemList, 1, -1 do
local v = self.m_systemList[k]
v:OnRelease()
v:Clear()
end
self.m_systemList = {}
self.inited = false
end
HL.Commit(LuaSystemManager)
return LuaSystemManager