25 lines
720 B
Go
25 lines
720 B
Go
package main
|
|
|
|
import (
|
|
"mongo.games.com/goserver/core/netlib"
|
|
"mongo.games.com/goserver/srvlib"
|
|
"mongo.games.com/goserver/srvlib/protocol"
|
|
)
|
|
|
|
func init() {
|
|
netlib.Register(int(protocol.SrvlibPacketID_PACKET_SS_BROADCAST), &protocol.SSPacketBroadcast{}, BroadcastHandler)
|
|
}
|
|
|
|
func BroadcastHandler(s *netlib.Session, packetid int, data interface{}) error {
|
|
if bp, ok := data.(*protocol.SSPacketBroadcast); ok {
|
|
pd := bp.GetData()
|
|
sp := bp.GetSessParam()
|
|
if bcss := sp.GetBcss(); bcss != nil {
|
|
srvlib.ServerSessionMgrSington.Broadcast(int(bp.GetPacketId()), pd, int(bcss.GetSArea()), int(bcss.GetSType()))
|
|
} else {
|
|
srvlib.ClientSessionMgrSington.Broadcast(int(bp.GetPacketId()), pd)
|
|
}
|
|
}
|
|
return nil
|
|
}
|