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)
f5.GetApp().NotifyLoopCond()
}

View File

@ -1,5 +1,12 @@
package app
func GetApp() *app {
return nil
import (
"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"
)
type Module interface {
Init()
UnInit()
}
type Room interface {
}
@ -42,4 +37,5 @@ type HttpListener interface {
type App interface {
SetCb(func(), func())
AddNetMsg(*f5.MsgHdr)
}

View File

@ -1,9 +1,9 @@
package constant
const (
PLAYER_MGR_HANDLER_ID = 1
PLAYER_HANDLER_ID = 2
WSP_LISTENER_HANDLER_ID = 3
PLAYER_MGR_HANDLER_ID = iota
PLAYER_HANDLER_ID
WSP_LISTENER_HANDLER_ID
)
const (
@ -14,3 +14,12 @@ const (
GAME_DB = "gamedb"
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
import (
"q5"
"main/constant"
"main/common"
)
var modules [constant.MAX_MODULE_IDX]q5.Module
var app common.App
var roomMgr common.RoomMgr
var playerMgr common.PlayerMgr
var wspListener common.WspListener
@ -12,22 +17,18 @@ func GetRoomMgr() common.RoomMgr {
return roomMgr
}
func SetRoomMgr(mgr common.RoomMgr) {
roomMgr = mgr
}
func GetPlayerMgr() common.PlayerMgr {
return playerMgr
}
func SetPlayerMgr(mgr common.PlayerMgr) {
playerMgr = mgr
}
func GetWspListener() common.WspListener {
return wspListener
}
func SetWspListener(mgr common.WspListener) {
wspListener = mgr
func GetApp() common.App {
return app
}
func RegModule(idx int32, m q5.Module) {
modules[idx] = m
}

View File

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

View File

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

View File

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