1
This commit is contained in:
parent
6405a233fd
commit
c2b32f4d1b
@ -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()
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
)
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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()
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
@ -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
|
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user