This commit is contained in:
aozhiwei 2023-09-07 15:53:30 +08:00
parent 6405a233fd
commit c2b32f4d1b
8 changed files with 56 additions and 48 deletions

View File

@ -65,7 +65,7 @@ func (this *app) Update() {
} }
} }
func (this *app) addNetMsg(hdr *f5.MsgHdr) { func (this *app) AddNetMsg(hdr *f5.MsgHdr) {
this.netMsgQueue.Push(&hdr.Entry) this.netMsgQueue.Push(&hdr.Entry)
f5.GetApp().NotifyLoopCond() f5.GetApp().NotifyLoopCond()
} }

View File

@ -1,5 +1,12 @@
package app package app
func GetApp() *app { import (
return nil "main/constant"
"main/global"
)
var _app = new(app)
func init() {
global.RegModule(constant.APP_MODULE_IDX, _app)
} }

View File

@ -10,11 +10,6 @@ import (
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
) )
type Module interface {
Init()
UnInit()
}
type Room interface { type Room interface {
} }
@ -42,4 +37,5 @@ type HttpListener interface {
type App interface { type App interface {
SetCb(func(), func()) SetCb(func(), func())
AddNetMsg(*f5.MsgHdr)
} }

View File

@ -1,9 +1,9 @@
package constant package constant
const ( const (
PLAYER_MGR_HANDLER_ID = 1 PLAYER_MGR_HANDLER_ID = iota
PLAYER_HANDLER_ID = 2 PLAYER_HANDLER_ID
WSP_LISTENER_HANDLER_ID = 3 WSP_LISTENER_HANDLER_ID
) )
const ( const (
@ -14,3 +14,12 @@ const (
GAME_DB = "gamedb" GAME_DB = "gamedb"
FRIEND_DB = "firenddb" FRIEND_DB = "firenddb"
) )
const (
ROOMMGR_MODULE_IDX = iota
APP_MODULE_IDX
WSPLISTENER_MODULE_IDX
HANDLER_MGR_MODULE_IDX
HTTP_LISTENER_MODULE_IDX
MAX_MODULE_IDX
)

View File

@ -1,9 +1,14 @@
package global package global
import ( import (
"q5"
"main/constant"
"main/common" "main/common"
) )
var modules [constant.MAX_MODULE_IDX]q5.Module
var app common.App
var roomMgr common.RoomMgr var roomMgr common.RoomMgr
var playerMgr common.PlayerMgr var playerMgr common.PlayerMgr
var wspListener common.WspListener var wspListener common.WspListener
@ -12,22 +17,18 @@ func GetRoomMgr() common.RoomMgr {
return roomMgr return roomMgr
} }
func SetRoomMgr(mgr common.RoomMgr) {
roomMgr = mgr
}
func GetPlayerMgr() common.PlayerMgr { func GetPlayerMgr() common.PlayerMgr {
return playerMgr return playerMgr
} }
func SetPlayerMgr(mgr common.PlayerMgr) {
playerMgr = mgr
}
func GetWspListener() common.WspListener { func GetWspListener() common.WspListener {
return wspListener return wspListener
} }
func SetWspListener(mgr common.WspListener) { func GetApp() common.App {
wspListener = mgr return app
}
func RegModule(idx int32, m q5.Module) {
modules[idx] = m
} }

View File

@ -1,5 +1,6 @@
package initialize package initialize
/*
import ( import (
"f5" "f5"
@ -9,13 +10,15 @@ import (
"main/listener" "main/listener"
"main/app" "main/app"
) )
*/
func Init() { func Init() {
app.GetApp().SetCb(initApp, unInitApp) //app.GetApp().SetCb(initApp, unInitApp)
f5.Run(app.GetApp()) //f5.Run(app.GetApp())
} }
func initApp() { func initApp() {
/*
global.SetPlayerMgr(player.GetPlayerMgr()) global.SetPlayerMgr(player.GetPlayerMgr())
global.SetRoomMgr(room.GetRoomMgr()) global.SetRoomMgr(room.GetRoomMgr())
global.SetWspListener(listener.GetWspListener()) global.SetWspListener(listener.GetWspListener())
@ -25,11 +28,14 @@ func initApp() {
room.GetRoomMgr().Init() room.GetRoomMgr().Init()
listener.GetWspListener().Init() listener.GetWspListener().Init()
listener.GetHttpListener().Init() listener.GetHttpListener().Init()
*/
} }
func unInitApp() { func unInitApp() {
/*
listener.GetHttpListener().UnInit() listener.GetHttpListener().UnInit()
listener.GetWspListener().UnInit() listener.GetWspListener().UnInit()
room.GetRoomMgr().UnInit() room.GetRoomMgr().UnInit()
player.GetPlayerMgr().UnInit() player.GetPlayerMgr().UnInit()
*/
} }

View File

@ -1,28 +1,16 @@
package listener package listener
var g = struct { import (
wspListener *WSPListener "main/constant"
handlerMgr *HandlerMgr "main/global"
httpListener *httpListener )
}{}
func GetWspListener() *WSPListener { var _wspListener = new(WSPListener)
if g.wspListener == nil { var _handlerMgr = new(HandlerMgr)
g.wspListener = new(WSPListener) var _httpListener = new(httpListener)
}
return g.wspListener
}
func GetHandlerMgr() *HandlerMgr { func init() {
if g.handlerMgr == nil { global.RegModule(constant.WSPLISTENER_MODULE_IDX, _wspListener)
g.handlerMgr = new(HandlerMgr) global.RegModule(constant.HANDLER_MGR_MODULE_IDX, _handlerMgr)
} global.RegModule(constant.HTTP_LISTENER_MODULE_IDX, _httpListener)
return g.handlerMgr
}
func GetHttpListener() *httpListener {
if g.httpListener == nil {
g.httpListener = new(httpListener)
}
return g.httpListener
} }

View File

@ -12,6 +12,7 @@ import (
proto "github.com/golang/protobuf/proto" proto "github.com/golang/protobuf/proto"
"main/constant" "main/constant"
. "main/global"
) )
type WSPListener struct { type WSPListener struct {
@ -139,13 +140,13 @@ func (this *WSPListener) parseNetPkt() {
hdr.Msg = ss.ParsePb(hdr.MsgId, hdr.Data) hdr.Msg = ss.ParsePb(hdr.MsgId, hdr.Data)
if hdr.Msg != nil { if hdr.Msg != nil {
hdr.Entry.Init(hdr) hdr.Entry.Init(hdr)
//app.addNetMsg(hdr) GetApp().AddNetMsg(hdr)
} }
} else { } else {
hdr.Msg = cs.ParsePb(hdr.MsgId, hdr.Data) hdr.Msg = cs.ParsePb(hdr.MsgId, hdr.Data)
if hdr.Msg != nil { if hdr.Msg != nil {
hdr.Entry.Init(hdr) hdr.Entry.Init(hdr)
//app.addNetMsg(hdr) GetApp().AddNetMsg(hdr)
} }
} }
} }