41 lines
919 B
Go
41 lines
919 B
Go
package game
|
|
|
|
import (
|
|
mergeCluster "server/cluster"
|
|
"server/game/mod/msg"
|
|
)
|
|
|
|
var clusterHandler map[int]func(*msg.Msg) error
|
|
|
|
func ClusterMgrInit() {
|
|
go func() {
|
|
for {
|
|
m := <-mergeCluster.MsgChan
|
|
clusterHandlerProcess(m)
|
|
}
|
|
}()
|
|
|
|
}
|
|
|
|
func clusterHandlerProcess(m *msg.Msg) {
|
|
if fun, ok := clusterHandler[m.Type]; ok {
|
|
fun(m)
|
|
} else {
|
|
FriendMgrSend(m)
|
|
}
|
|
}
|
|
|
|
func RegisterClusterHandler(t int, fun func(*msg.Msg) error) {
|
|
clusterHandler[t] = fun
|
|
}
|
|
|
|
func init() {
|
|
clusterHandler = make(map[int]func(*msg.Msg) error)
|
|
RegisterClusterHandler(msg.HANDLE_TYPE_DEL, FriendMgrSend)
|
|
RegisterClusterHandler(msg.HANDLE_TYPE_APPLY, FriendMgrSend)
|
|
RegisterClusterHandler(msg.HADNLE_TYPE_AGREE, FriendMgrSend)
|
|
RegisterClusterHandler(msg.HANDLE_TYPE_REQ_CARD, FriendMgrSend)
|
|
RegisterClusterHandler(msg.HANDLE_TYPE_AGREE_CARD, FriendMgrSend)
|
|
RegisterClusterHandler(msg.CLUSTER_FRIEND_SYNC, ClusterFriendSync)
|
|
}
|