This commit is contained in:
aozhiwei 2023-09-07 11:42:02 +08:00
parent f664e95217
commit 37386f2001
12 changed files with 102 additions and 28 deletions

View File

@ -1,11 +1,10 @@
package main
import (
"cs"
"f5"
"mt"
"q5"
"ss"
_ "main/initialize"
)
type App struct {
@ -22,22 +21,23 @@ func (this *App) Init() {
this.registerDataSources()
handlerMgr.init()
playerMgr.init()
//playerMgr.init()
wspListener.init()
httpListener.init()
roomMgr.init()
//roomMgr.init()
}
func (this *App) UnInit() {
roomMgr.unInit()
//roomMgr.unInit()
httpListener.unInit()
playerMgr.unInit()
//playerMgr.unInit()
handlerMgr.unInit()
wspListener.unInit()
}
func (this *App) Update() {
this.netMsgQueue.Fetch()
/*
for !this.netMsgQueue.WorkList.Empty() {
next := this.netMsgQueue.WorkList.Next()
hdr, ok := next.GetData().(*f5.MsgHdr)
@ -66,7 +66,7 @@ func (this *App) Update() {
}
}
next.Del()
}
}*/
}
func (this *App) addNetMsg(hdr *f5.MsgHdr) {

View File

@ -0,0 +1,18 @@
package common
type Module interface {
Init()
UnInit()
}
type Room interface {
}
type RoomMgr interface {
}
type PlayerMgr interface {
}

View File

@ -2,7 +2,5 @@ package main
var app = new(App)
var wspListener = new(WSPListener)
var playerMgr = new(PlayerMgr)
var handlerMgr = new(HandlerMgr)
var httpListener = new(HttpListener)
var roomMgr = new(RoomMgr)

View File

@ -0,0 +1,21 @@
package global
import (
"main/common"
)
func GetRoomMgr() common.RoomMgr {
return nil
}
func SetRoomMgr(mgr common.RoomMgr) {
}
func GetPlayerMgr() common.PlayerMgr {
return nil
}
func SetPlayerMgr(mgr common.PlayerMgr) {
}

View File

@ -10,6 +10,8 @@ require mt v1.0.0
require mtb v1.0.0 // indirect
require main v1.0.0 // indirect
require cs v1.0.0
require ss v1.0.0
@ -32,3 +34,5 @@ replace mtb => ./mtb
replace cs => ./cs
replace ss => ./ss
replace main => ./

View File

@ -0,0 +1,12 @@
package initialize
import (
"main/global"
"main/room"
"main/player"
)
func init() {
global.SetRoomMgr(room.GetRoomMgr())
global.SetPlayerMgr(player.GetPlayerMgr())
}

View File

@ -0,0 +1,10 @@
package player
var _playerMgr *playerMgr
func GetPlayerMgr() *playerMgr {
if (_playerMgr == nil) {
_playerMgr = new(playerMgr)
}
return _playerMgr
}

View File

@ -1,9 +1,10 @@
package main
package player
import (
"cs"
"f5"
"github.com/golang/protobuf/proto"
. "main/common"
)
type Player struct {
@ -19,7 +20,7 @@ func (this *Player) GetAccountId() string {
}
func (this *Player) SendMsg(rspMsg proto.Message) {
wspListener.sendProxyMsg(this.socket.Conn, this.socket.SocketHandle, rspMsg)
//wspListener.sendProxyMsg(this.socket.Conn, this.socket.SocketHandle, rspMsg)
}
func (this *Player) GetRoom() *Room {

View File

@ -1,4 +1,4 @@
package main
package player
import (
"cs"
@ -9,13 +9,13 @@ import (
"q5"
)
type PlayerMgr struct {
type playerMgr struct {
cs.MsgHandlerImpl
accountIdHash map[string]*Player
socketHash map[f5.WspCliConn]*Player
}
func (this *PlayerMgr) init() {
func (this *playerMgr) Init() {
this.accountIdHash = make(map[string]*Player)
this.socketHash = make(map[f5.WspCliConn]*Player)
@ -32,10 +32,10 @@ func (this *PlayerMgr) init() {
})
}
func (this *PlayerMgr) unInit() {
func (this *playerMgr) UnInit() {
}
func (this *PlayerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
params := map[string]string{
"c": "User",
"a": "info",
@ -52,7 +52,7 @@ func (this *PlayerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {
})
}
func (this *PlayerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.HttpCliResponse) {
func (this *playerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.HttpCliResponse) {
resObj := struct {
Errcode int `json:"errcode"`
Errmsg string `json:"errmsg"`
@ -86,10 +86,10 @@ func (this *PlayerMgr) CMLoginResult(hdr *f5.MsgHdr, msg *cs.CMLogin, rsp f5.Htt
rspMsg := &cs.SMLogin{}
rspMsg.ServerInfo = &serverInfo
rspMsg.AccountId = &resObj.Info.AccountID
wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
//wspListener.sendProxyMsg(hdr.Conn, hdr.SocketHandle, rspMsg)
}
func (this *PlayerMgr) reportServerState(masterIp string, masterPort int32) {
func (this *playerMgr) reportServerState(masterIp string, masterPort int32) {
params := map[string]string{
"node_id": q5.ToString(f5.GetApp().GetNodeId()),
"instance_id": q5.ToString(f5.GetApp().GetInstanceId()),
@ -109,15 +109,15 @@ func (this *PlayerMgr) reportServerState(masterIp string, masterPort int32) {
})
}
func (this *PlayerMgr) GetPlayers() map[string]*Player {
func (this *playerMgr) GetPlayers() map[string]*Player {
return this.accountIdHash
}
func (this *PlayerMgr) addPlayer(p *Player) {
func (this *playerMgr) addPlayer(p *Player) {
this.accountIdHash[p.accountId] = p
}
func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player {
func (this *playerMgr) getPlayerByAccountId(accountId string) *Player {
player, ok := this.accountIdHash[accountId]
if ok {
return player
@ -125,7 +125,7 @@ func (this *PlayerMgr) getPlayerByAccountId(accountId string) *Player {
return nil
}
func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
func (this *playerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
player, ok := this.socketHash[socket]
if ok {
return player
@ -133,6 +133,6 @@ func (this *PlayerMgr) getPlayerBySocket(socket f5.WspCliConn) *Player {
return nil
}
func (this *PlayerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) {
func (this *playerMgr) addSocketHash(wsp f5.WspCliConn, p *Player) {
this.socketHash[wsp] = p
}

View File

@ -0,0 +1,10 @@
package room
var _roomMgr *roomMgr
func GetRoomMgr() *roomMgr {
if (_roomMgr == nil) {
_roomMgr = new(roomMgr)
}
return _roomMgr
}

View File

@ -1,4 +1,4 @@
package main
package room
import (
"cs"

View File

@ -4,16 +4,16 @@ import (
"cs"
)
type RoomMgr struct {
type roomMgr struct {
cs.MsgHandlerImpl
currRoomId int32
idHash map[int32]*Room
}
func (this *RoomMgr) init() {
func (this *roomMgr) Init() {
this.idHash = make(map[int32]*Room)
this.currRoomId = 10000
}
func (this *RoomMgr) unInit() {
func (this *roomMgr) UnInit() {
}