aozhiwei 5d871e61ce 1
2024-03-08 16:20:29 +08:00

102 lines
1.7 KiB
Go

package global
import (
"q5"
"fmt"
"main/constant"
"main/common"
)
var modules [constant.MAX_MODULE_IDX]q5.Module
var initOrders = []int32 {
constant.HANDLER_MGR_MODULE_IDX,
constant.HTTP_LISTENER_MODULE_IDX,
constant.PLAYER_MGR_MODULE_IDX,
constant.ROOMMGR_MODULE_IDX,
constant.WSPLISTENER_MODULE_IDX,
}
var app common.App
var playerMgr common.PlayerMgr
var wspListener common.WspListener
var friendMgr common.FriendMgr
var guildMgr common.GuildMgr
var cacheMgr common.CacheMgr
var chatMgr common.ChatMgr
func GetPlayerMgr() common.PlayerMgr {
return playerMgr
}
func GetFriendMgr() common.FriendMgr {
return friendMgr
}
func GetGuildMgr() common.GuildMgr {
return guildMgr
}
func GetCacheMgr() common.CacheMgr {
return cacheMgr
}
func GetChatMgr() common.ChatMgr {
return chatMgr
}
func GetWspListener() common.WspListener {
return wspListener
}
func GetApp() common.App {
return app
}
func RegModule(idx int32, m q5.Module) {
fmt.Printf("RegModule module %d\n", idx)
modules[idx] = m
switch (idx) {
case constant.APP_MODULE_IDX:
{
app = m.(common.App)
}
case constant.WSPLISTENER_MODULE_IDX:
{
wspListener = m.(common.WspListener)
}
case constant.HANDLER_MGR_MODULE_IDX:
{
//wspListener = m.(.common.H)
}
case constant.HTTP_LISTENER_MODULE_IDX:
{
//wspListener = m.(.common.H)
}
case constant.PLAYER_MGR_MODULE_IDX:
{
playerMgr = m.(common.PlayerMgr)
}
case constant.ROOMMGR_MODULE_IDX:
{
}
default:
{
panic("unknow module")
}
}
}
func InitModules() {
for _, val := range(initOrders) {
fmt.Printf("init module %d\n", val)
modules[val].Init()
}
}
func UnInitModules() {
for _, val := range(initOrders) {
fmt.Printf("unInit module %d", val)
modules[val].UnInit()
}
}