102 lines
1.7 KiB
Go
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()
|
|
}
|
|
}
|