aozhiwei d3e5a14871 1
2024-02-17 18:27:46 +08:00

88 lines
1.5 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 roomMgr common.RoomMgr
var playerMgr common.PlayerMgr
var wspListener common.WspListener
func GetRoomMgr() common.RoomMgr {
return roomMgr
}
func GetPlayerMgr() common.PlayerMgr {
return playerMgr
}
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:
{
roomMgr = m.(common.RoomMgr)
}
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()
}
}