488 lines
19 KiB
Go
488 lines
19 KiB
Go
package main
|
||
|
||
import (
|
||
"fmt"
|
||
"mongo.games.com/game/common"
|
||
"mongo.games.com/game/proto"
|
||
"mongo.games.com/game/protocol/gamehall"
|
||
"mongo.games.com/game/srvdata"
|
||
"mongo.games.com/goserver/core/logger"
|
||
"mongo.games.com/goserver/core/netlib"
|
||
)
|
||
|
||
type CSHundredSceneGetPlayerNumPacketFactory struct {
|
||
}
|
||
type CSHundredSceneGetPlayerNumHandler struct {
|
||
}
|
||
|
||
func (this *CSHundredSceneGetPlayerNumPacketFactory) CreatePacket() interface{} {
|
||
pack := &gamehall.CSHundredSceneGetPlayerNum{}
|
||
return pack
|
||
}
|
||
|
||
func (this *CSHundredSceneGetPlayerNumHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||
logger.Logger.Trace("CSHundredSceneGetPlayerNumHandler Process recv ", data)
|
||
if msg, ok := data.(*gamehall.CSHundredSceneGetPlayerNum); ok {
|
||
p := PlayerMgrSington.GetPlayer(sid)
|
||
if p != nil {
|
||
nums := HundredSceneMgrSington.GetPlayerNums(p, msg.GetGameId(), msg.GetGameModel())
|
||
pack := &gamehall.SCHundredSceneGetPlayerNum{
|
||
Nums: nums,
|
||
}
|
||
proto.SetDefaults(pack)
|
||
p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_HUNDREDSCENE_GETPLAYERNUM), pack)
|
||
logger.Logger.Trace("SCHundredSceneGetPlayerNum:", pack)
|
||
}
|
||
}
|
||
|
||
return nil
|
||
}
|
||
|
||
type CSHundredSceneOpPacketFactory struct {
|
||
}
|
||
type CSHundredSceneOpHandler struct {
|
||
}
|
||
|
||
func (this *CSHundredSceneOpPacketFactory) CreatePacket() interface{} {
|
||
pack := &gamehall.CSHundredSceneOp{}
|
||
return pack
|
||
}
|
||
|
||
func (this *CSHundredSceneOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||
logger.Logger.Trace("CSHundredSceneOpHandler Process recv ", data)
|
||
if msg, ok := data.(*gamehall.CSHundredSceneOp); ok {
|
||
p := PlayerMgrSington.GetPlayer(sid)
|
||
if p != nil {
|
||
var ret gamehall.OpResultCode_Hundred
|
||
pack := &gamehall.SCHundredSceneOp{
|
||
Id: msg.Id,
|
||
OpType: msg.OpType,
|
||
}
|
||
oldPlatform := p.Platform
|
||
switch msg.GetOpType() {
|
||
case HundredSceneOp_Enter:
|
||
//pt := PlatformMgrSingleton.GetPackageTag(p.PackageID)
|
||
//if pt != nil && pt.IsForceBind == 1 {
|
||
// if p.BeUnderAgentCode == "" || p.BeUnderAgentCode == "0" {
|
||
// ret = gamehall.OpResultCode_Hundred_OPRC_MustBindPromoter_Hundred
|
||
// goto done
|
||
// }
|
||
//}
|
||
if p.scene != nil {
|
||
logger.Logger.Warnf("CSHundredSceneOpHandler CoinSceneOp_Enter found snid:%v had in scene:%v gameid:%v", p.SnId, p.scene.sceneId, p.scene.gameId)
|
||
p.ReturnScene(false)
|
||
return nil
|
||
}
|
||
dbGameFree := srvdata.PBDB_GameFreeMgr.GetData(msg.GetId())
|
||
gameId := dbGameFree.GetGameId()
|
||
var roomId int32
|
||
params := msg.GetOpParams()
|
||
if len(params) != 0 {
|
||
roomId = params[0]
|
||
name, ok := HundredSceneMgrSington.GetPlatformNameBySceneId(roomId)
|
||
if p.IsRob {
|
||
//机器人先伪装成对应平台的用户
|
||
if ok {
|
||
p.Platform = name
|
||
}
|
||
} else if p.GMLevel > 0 && p.Platform == name { //允许GM直接按房间ID进场
|
||
roomId = params[0]
|
||
}
|
||
}
|
||
//检测房间状态是否开启
|
||
gps := PlatformMgrSingleton.GetGameFree(p.Platform, msg.GetId())
|
||
if gps == nil {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_RoomHadClosed_Hundred
|
||
goto done
|
||
}
|
||
|
||
dbGameFree = gps.DbGameFree
|
||
if len(params) != 0 && p.GMLevel > 0 { //允许GM直接按房间ID进场
|
||
s := SceneMgrSingleton.GetScene(int(params[0]))
|
||
if s != nil {
|
||
if s.limitPlatform.IdStr == p.Platform || (gps.GroupId != 0 && s.groupId == gps.GroupId) {
|
||
roomId = params[0]
|
||
}
|
||
}
|
||
}
|
||
|
||
if dbGameFree == nil {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_RoomHadClosed_Hundred
|
||
goto done
|
||
}
|
||
|
||
if dbGameFree.GetLimitCoin() != 0 && int64(dbGameFree.GetLimitCoin()) > p.Coin {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_CoinNotEnough_Hundred
|
||
goto done
|
||
}
|
||
|
||
if dbGameFree.GetMaxCoinLimit() != 0 && int64(dbGameFree.GetMaxCoinLimit()) < p.Coin && !p.IsRob {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_CoinTooMore_Hundred
|
||
goto done
|
||
}
|
||
|
||
//检查游戏次数限制
|
||
if !p.IsRob {
|
||
//todayData, _ := p.GetDaliyGameData(int(dbGameFree.GetId()))
|
||
//if dbGameFree.GetPlayNumLimit() != 0 &&
|
||
// todayData != nil &&
|
||
// todayData.GameTimes >= int64(dbGameFree.GetPlayNumLimit()) {
|
||
// ret = gamehall.OpResultCode_Hundred_OPRC_RoomGameTimes_Hundred
|
||
// goto done
|
||
//}
|
||
}
|
||
|
||
gameVers := srvdata.GetGameVers(p.PackageID)
|
||
if gameVers != nil {
|
||
if ver, ok := gameVers[fmt.Sprintf("%v,%v", gameId, p.Channel)]; ok {
|
||
pack.MinApkVer = proto.Int32(ver.MinApkVer)
|
||
pack.MinResVer = proto.Int32(ver.MinResVer)
|
||
pack.LatestApkVer = proto.Int32(ver.LatestApkVer)
|
||
pack.LatestResVer = proto.Int32(ver.LatestResVer)
|
||
|
||
if msg.GetApkVer() < ver.MinApkVer {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_YourAppVerIsLow_Hundred
|
||
goto done
|
||
}
|
||
|
||
if msg.GetResVer() < ver.MinResVer {
|
||
ret = gamehall.OpResultCode_Hundred_OPRC_YourResVerIsLow_Hundred
|
||
goto done
|
||
}
|
||
}
|
||
}
|
||
|
||
ret = HundredSceneMgrSington.PlayerEnter(p, msg.GetId())
|
||
if p.scene != nil {
|
||
pack.OpParams = append(pack.OpParams, msg.GetId())
|
||
//TODO 有房间还进入失败,尝试returnroom
|
||
if ret != gamehall.OpResultCode_Hundred_OPRC_Sucess_Hundred {
|
||
p.ReturnScene(false)
|
||
return nil
|
||
}
|
||
}
|
||
case HundredSceneOp_Leave:
|
||
ret = HundredSceneMgrSington.PlayerTryLeave(p)
|
||
case HundredSceneOp_Change:
|
||
/*var exclude int32
|
||
if p.scene != nil {
|
||
exclude = int32(p.scene.sceneId)
|
||
}
|
||
params := msg.GetOpParams()
|
||
if len(params) != 0 {
|
||
exclude = params[0]
|
||
}
|
||
if HundredSceneMgrSington.PlayerInChanging(p) { //换桌中
|
||
return nil
|
||
}
|
||
ret = HundredSceneMgrSington.PlayerTryChange(p, msg.GetId(), exclude)*/
|
||
}
|
||
done:
|
||
//机器人要避免身上的平台标记被污染
|
||
if p.IsRob {
|
||
if ret != gamehall.OpResultCode_Hundred_OPRC_Sucess_Hundred {
|
||
p.Platform = oldPlatform
|
||
}
|
||
}
|
||
pack.OpCode = ret
|
||
proto.SetDefaults(pack)
|
||
p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_HUNDREDSCENE_OP), pack)
|
||
//}
|
||
//if msg.GetOpType() == common.CoinSceneOp_Enter && ret == gamehall.OpResultCode_Hundred_OPRC_Sucess_Hundred && p.scene != nil {
|
||
// gameName := p.scene.dbGameFree.GetName() + p.scene.dbGameFree.GetTitle()
|
||
// ActMonitorMgrSington.SendActMonitorEvent(ActState_Game, p.SnId, p.Name, p.Platform,
|
||
// 0, 0, gameName, 0)
|
||
//}
|
||
}
|
||
}
|
||
return nil
|
||
}
|
||
|
||
type CSGameObservePacketFactory struct {
|
||
}
|
||
type CSGameObserveHandler struct {
|
||
}
|
||
|
||
func (this *CSGameObservePacketFactory) CreatePacket() interface{} {
|
||
pack := &gamehall.CSGameObserve{}
|
||
return pack
|
||
}
|
||
|
||
func (this *CSGameObserveHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||
logger.Logger.Trace("CSGameObserveHandler Process recv ", data)
|
||
if _, ok := data.(*gamehall.CSGameObserve); ok {
|
||
p := PlayerMgrSington.GetPlayer(sid)
|
||
if p != nil {
|
||
//if msg.GetStartOrEnd() {
|
||
// gameStateMgr.PlayerRegiste(p, msg.GetGameId(), msg.GetStartOrEnd())
|
||
// pack := &gamehall.SCGameSubList{}
|
||
// statePack := &gamehall.SCGameState{}
|
||
// scenes := HundredSceneMgrSington.GetPlatformScene(p.Platform, msg.GetGameId())
|
||
// for _, value := range scenes {
|
||
// pack.List = append(pack.List, &gamehall.GameSubRecord{
|
||
// GameFreeId: proto.Int32(value.dbGameFree.GetId()),
|
||
// NewLog: proto.Int32(-1),
|
||
// LogCnt: proto.Int(len(value.GameLog)),
|
||
// TotleLog: value.GameLog,
|
||
// })
|
||
// leftTime := int64(value.StateSec) - (time.Now().Unix() - value.StateTs)
|
||
// if leftTime < 0 {
|
||
// leftTime = 0
|
||
// }
|
||
// statePack.List = append(statePack.List, &gamehall.GameState{
|
||
// GameFreeId: proto.Int32(value.dbGameFree.GetId()),
|
||
// Ts: proto.Int64(leftTime),
|
||
// Sec: proto.Int32(value.StateSec),
|
||
// })
|
||
// }
|
||
// p.SendToClient(int(gamehall.GameHallPacketID_PACKET_SC_GAMESUBLIST), pack)
|
||
// logger.Logger.Trace("SCGameSubList:", pack)
|
||
// p.SendToClient(int(gamehall.GameHallPacketID_PACKET_SC_GAMESTATE), statePack)
|
||
// logger.Logger.Trace("SCGameState:", statePack)
|
||
//} else {
|
||
// gameStateMgr.PlayerClear(p)
|
||
//}
|
||
}
|
||
}
|
||
return nil
|
||
}
|
||
|
||
//type CSHundredSceneGetGameJackpotPacketFactory struct {
|
||
//}
|
||
//type CSHundredSceneGetGameJackpotHandler struct {
|
||
//}
|
||
//
|
||
//func (this *CSHundredSceneGetGameJackpotPacketFactory) CreatePacket() interface{} {
|
||
// pack := &gamehall.CSHundredSceneGetPlayerNum{}
|
||
// return pack
|
||
//}
|
||
//
|
||
//func (this *CSHundredSceneGetGameJackpotHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||
// logger.Logger.Trace("CSHundredSceneGetGameJackpotHandler Process recv ", data)
|
||
// if _, ok := data.(*gamehall.CSHundredSceneGetPlayerNum); ok {
|
||
// p := PlayerMgrSington.GetPlayer(sid)
|
||
// if p != nil {
|
||
// //gameid := int(msg.GetGameId())
|
||
// //// 冰河世纪, 百战成神, 财神, 复仇者联盟, 复活岛
|
||
// //if gameid == common.GameId_IceAge || gameid == common.GameId_TamQuoc || gameid == common.GameId_CaiShen ||
|
||
// // gameid == common.GameId_Avengers || gameid == common.GameId_EasterIsland {
|
||
// // gameStateMgr.PlayerRegiste(p, msg.GetGameId(), true)
|
||
// // pack := &gamehall.SCHundredSceneGetGameJackpot{}
|
||
// // scenes := HundredSceneMgrSington.GetPlatformScene(p.Platform, msg.GetGameId())
|
||
// // for _, v := range scenes {
|
||
// // jpfi := &gamehall.GameJackpotFundInfo{
|
||
// // GameFreeId: proto.Int32(v.dbGameFree.GetId()),
|
||
// // JackPotFund: proto.Int64(v.JackPotFund),
|
||
// // }
|
||
// // pack.GameJackpotFund = append(pack.GameJackpotFund, jpfi)
|
||
// // }
|
||
// // proto.SetDefaults(pack)
|
||
// // p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_GAMEJACKPOT), pack)
|
||
// // logger.Logger.Trace("SCHundredSceneGetGameJackpot:", pack)
|
||
// //}
|
||
// }
|
||
// }
|
||
// return nil
|
||
//}
|
||
//
|
||
//type CSHundredSceneGetGameHistoryInfoPacketFactory struct {
|
||
//}
|
||
//type CSHundredSceneGetGameHistoryInfoHandler struct {
|
||
//}
|
||
//
|
||
//func (this *CSHundredSceneGetGameHistoryInfoPacketFactory) CreatePacket() interface{} {
|
||
// pack := &gamehall.CSHundredSceneGetHistoryInfo{}
|
||
// return pack
|
||
//}
|
||
//
|
||
//func (this *CSHundredSceneGetGameHistoryInfoHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||
// logger.Logger.Trace("World CSHundredSceneGetGameHistoryInfoHandler Process recv ", data)
|
||
// if msg, ok := data.(*gamehall.CSHundredSceneGetHistoryInfo); ok {
|
||
// gameid := int(msg.GetGameId())
|
||
// historyModel := msg.GetGameHistoryModel()
|
||
// p := PlayerMgrSington.GetPlayer(sid)
|
||
// if p != nil {
|
||
// switch historyModel {
|
||
// case PLAYER_HISTORY_MODEL: // 历史记录
|
||
// task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||
// var genPlayerHistoryInfo = func(spinID string, isFree bool, createdTime, totalBetValue, totalPriceValue, totalBonusValue, multiple int64, player *gamehall.PlayerHistoryInfo) {
|
||
// player.SpinID = proto.String(spinID)
|
||
// player.CreatedTime = proto.Int64(createdTime)
|
||
// player.TotalBetValue = proto.Int64(totalBetValue)
|
||
// player.TotalPriceValue = proto.Int64(totalPriceValue)
|
||
// player.IsFree = proto.Bool(isFree)
|
||
// player.TotalBonusValue = proto.Int64(totalBonusValue)
|
||
// player.Multiple = proto.Int64(multiple)
|
||
// }
|
||
//
|
||
// var genPlayerHistoryInfoMsg = func(spinid string, v *model.NeedGameRecord, gdl *model.GameDetailedLog, player *gamehall.PlayerHistoryInfo) {
|
||
// switch gameid {
|
||
// //case common.GameId_IceAge:
|
||
// // data, err := model.UnMarshalIceAgeGameNote(gdl.GameDetailedNote)
|
||
// // if err != nil {
|
||
// // logger.Logger.Errorf("World UnMarshalIceAgeGameNote error:%v", err)
|
||
// // }
|
||
// // gnd := data.(*model.IceAgeType)
|
||
// // genPlayerHistoryInfo(spinid, gnd.IsFree, int64(v.Ts), int64(gnd.Score), gnd.TotalPriceValue, gnd.TotalBonusValue, player)
|
||
// //case common.GameId_TamQuoc:
|
||
// // data, err := model.UnMarshalTamQuocGameNote(gdl.GameDetailedNote)
|
||
// // if err != nil {
|
||
// // logger.Logger.Errorf("World UnMarshalTamQuocGameNote error:%v", err)
|
||
// // }
|
||
// // gnd := data.(*model.TamQuocType)
|
||
// // genPlayerHistoryInfo(spinid, gnd.IsFree, int64(v.Ts), int64(gnd.Score), gnd.TotalPriceValue, gnd.TotalBonusValue, player)
|
||
// //case common.GameId_CaiShen:
|
||
// // data, err := model.UnMarshalCaiShenGameNote(gdl.GameDetailedNote)
|
||
// // if err != nil {
|
||
// // logger.Logger.Errorf("World UnMarshalCaiShenGameNote error:%v", err)
|
||
// // }
|
||
// // gnd := data.(*model.CaiShenType)
|
||
// // genPlayerHistoryInfo(spinid, gnd.IsFree, int64(v.Ts), int64(gnd.Score), gnd.TotalPriceValue, gnd.TotalBonusValue, player)
|
||
// case common.GameId_Crash:
|
||
// data, err := model.UnMarshalGameNoteByHUNDRED(gdl.GameDetailedNote)
|
||
// if err != nil {
|
||
// logger.Logger.Errorf("World UnMarshalAvengersGameNote error:%v", err)
|
||
// }
|
||
// jsonString, _ := json.Marshal(data)
|
||
//
|
||
// // convert json to struct
|
||
// gnd := model.CrashType{}
|
||
// json.Unmarshal(jsonString, &gnd)
|
||
//
|
||
// //gnd := data.(*model.CrashType)
|
||
// for _, curplayer := range gnd.PlayerData {
|
||
// if curplayer.UserId == p.SnId {
|
||
// genPlayerHistoryInfo(spinid, false, int64(v.Ts), int64(curplayer.UserBetTotal), curplayer.ChangeCoin, 0, int64(curplayer.UserMultiple), player)
|
||
// break
|
||
// }
|
||
// }
|
||
// case common.GameId_Avengers:
|
||
// data, err := model.UnMarshalAvengersGameNote(gdl.GameDetailedNote)
|
||
// if err != nil {
|
||
// logger.Logger.Errorf("World UnMarshalAvengersGameNote error:%v", err)
|
||
// }
|
||
// gnd := data.(*model.GameResultLog)
|
||
// genPlayerHistoryInfo(spinid, gnd.BaseResult.IsFree, int64(v.Ts), int64(gnd.BaseResult.TotalBet), gnd.BaseResult.WinTotal, gnd.BaseResult.WinSmallGame, 0, player)
|
||
// //case common.GameId_EasterIsland:
|
||
// // data, err := model.UnMarshalEasterIslandGameNote(gdl.GameDetailedNote)
|
||
// // if err != nil {
|
||
// // logger.Logger.Errorf("World UnMarshalEasterIslandGameNote error:%v", err)
|
||
// // }
|
||
// // gnd := data.(*model.EasterIslandType)
|
||
// // genPlayerHistoryInfo(spinid, gnd.IsFree, int64(v.Ts), int64(gnd.Score), gnd.TotalPriceValue, gnd.TotalBonusValue, player)
|
||
// default:
|
||
// logger.Logger.Errorf("World CSHundredSceneGetGameHistoryInfoHandler receive gameid(%v) error", gameid)
|
||
// }
|
||
// }
|
||
//
|
||
// gameclass := int32(2)
|
||
// spinid := strconv.FormatInt(int64(p.SnId), 10)
|
||
// dbGameFrees := srvdata.PBDB_GameFreeMgr.Datas.Arr //.GetData(data.DbGameFree.Id)
|
||
// roomtype := int32(0)
|
||
// for _, v := range dbGameFrees {
|
||
// if int32(gameid) == v.GetGameId() {
|
||
// gameclass = v.GetGameClass()
|
||
// roomtype = v.GetSceneType()
|
||
// break
|
||
// }
|
||
// }
|
||
//
|
||
// gpl := model.GetPlayerListByHallEx(p.SnId, p.Platform, 0, 50, 0, 0, roomtype, gameclass, gameid)
|
||
// pack := &gamehall.SCPlayerHistory{}
|
||
// for _, v := range gpl.Data {
|
||
// if v.GameDetailedLogId == "" {
|
||
// logger.Logger.Error("World PlayerHistory GameDetailedLogId is nil")
|
||
// break
|
||
// }
|
||
// gdl := model.GetPlayerHistory(p.Platform, v.GameDetailedLogId)
|
||
// player := &gamehall.PlayerHistoryInfo{}
|
||
// genPlayerHistoryInfoMsg(spinid, v, gdl, player)
|
||
// pack.PlayerHistory = append(pack.PlayerHistory, player)
|
||
// }
|
||
// proto.SetDefaults(pack)
|
||
// logger.Logger.Infof("World gameid:%v PlayerHistory:%v ", gameid, pack)
|
||
// return pack
|
||
// }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
|
||
// if data == nil {
|
||
// logger.Logger.Error("World PlayerHistory data is nil")
|
||
// return
|
||
// }
|
||
// p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_GAMEPLAYERHISTORY), data)
|
||
// }), "CSGetPlayerHistoryHandlerWorld").Start()
|
||
// case BIGWIN_HISTORY_MODEL: // 爆奖记录
|
||
// jackpotList := JackpotListMgrSington.GetJackpotList(gameid)
|
||
// //if len(jackpotList) < 1 {
|
||
// // JackpotListMgrSington.GenJackpot(gameid) // 初始化爆奖记录
|
||
// // JackpotListMgrSington.after(gameid) // 开启定时器
|
||
// // jackpotList = JackpotListMgrSington.GetJackpotList(gameid)
|
||
// //}
|
||
// pack := JackpotListMgrSington.GetStoCMsg(jackpotList)
|
||
// pack.GameId = msg.GetGameId()
|
||
// logger.Logger.Infof("World BigWinHistory: %v %v", gameid, pack)
|
||
// p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_GAMEBIGWINHISTORY), pack)
|
||
// case GAME_HISTORY_MODEL:
|
||
// task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||
// var genGameHistoryInfo = func(gameNumber string, createdTime, multiple int64, hash string, gamehistory *gamehall.GameHistoryInfo) {
|
||
// gamehistory.GameNumber = proto.String(gameNumber)
|
||
// gamehistory.CreatedTime = proto.Int64(createdTime)
|
||
// gamehistory.Hash = proto.String(hash)
|
||
// gamehistory.Multiple = proto.Int64(multiple)
|
||
// }
|
||
//
|
||
// gls := model.GetAllGameDetailedLogsByGameIdAndTs(p.Platform, gameid, 20)
|
||
//
|
||
// pack := &gamehall.SCPlayerHistory{}
|
||
// for _, v := range gls {
|
||
//
|
||
// gamehistory := &gamehall.GameHistoryInfo{}
|
||
//
|
||
// data, err := model.UnMarshalGameNoteByHUNDRED(v.GameDetailedNote)
|
||
// if err != nil {
|
||
// logger.Logger.Errorf("World UnMarshalAvengersGameNote error:%v", err)
|
||
// }
|
||
// jsonString, _ := json.Marshal(data)
|
||
//
|
||
// // convert json to struct
|
||
// gnd := model.CrashType{}
|
||
// json.Unmarshal(jsonString, &gnd)
|
||
//
|
||
// genGameHistoryInfo(v.LogId, int64(v.Ts), int64(gnd.Rate), gnd.Hash, gamehistory)
|
||
// pack.GameHistory = append(pack.GameHistory, gamehistory)
|
||
// }
|
||
// proto.SetDefaults(pack)
|
||
// logger.Logger.Infof("World gameid:%v History:%v ", gameid, pack)
|
||
// return pack
|
||
// }), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
|
||
// if data == nil {
|
||
// logger.Logger.Error("World GameHistory data is nil")
|
||
// return
|
||
// }
|
||
// p.SendToClient(int(gamehall.HundredScenePacketID_PACKET_SC_GAMEPLAYERHISTORY), data)
|
||
// }), "CSGetGameHistoryHandlerWorld").Start()
|
||
// default:
|
||
// logger.Logger.Errorf("World CSHundredSceneGetGameHistoryInfoHandler receive historyModel(%v) error", historyModel)
|
||
// }
|
||
// }
|
||
// }
|
||
// return nil
|
||
//}
|
||
|
||
func init() {
|
||
common.RegisterHandler(int(gamehall.HundredScenePacketID_PACKET_CS_HUNDREDSCENE_GETPLAYERNUM), &CSHundredSceneGetPlayerNumHandler{})
|
||
netlib.RegisterFactory(int(gamehall.HundredScenePacketID_PACKET_CS_HUNDREDSCENE_GETPLAYERNUM), &CSHundredSceneGetPlayerNumPacketFactory{})
|
||
|
||
common.RegisterHandler(int(gamehall.HundredScenePacketID_PACKET_CS_HUNDREDSCENE_OP), &CSHundredSceneOpHandler{})
|
||
netlib.RegisterFactory(int(gamehall.HundredScenePacketID_PACKET_CS_HUNDREDSCENE_OP), &CSHundredSceneOpPacketFactory{})
|
||
//请求游戏列表
|
||
common.RegisterHandler(int(gamehall.GameHallPacketID_PACKET_CS_GAMEOBSERVE), &CSGameObserveHandler{})
|
||
netlib.RegisterFactory(int(gamehall.GameHallPacketID_PACKET_CS_GAMEOBSERVE), &CSGameObservePacketFactory{})
|
||
|
||
//// 请求奖池信息
|
||
//common.RegisterHandler(int(gamehall.HundredScenePacketID_PACKET_CS_GAMEJACKPOT), &CSHundredSceneGetGameJackpotHandler{})
|
||
//netlib.RegisterFactory(int(gamehall.HundredScenePacketID_PACKET_CS_GAMEJACKPOT), &CSHundredSceneGetGameJackpotPacketFactory{})
|
||
|
||
////// 请求历史记录和爆奖记录
|
||
//common.RegisterHandler(int(gamehall.HundredScenePacketID_PACKET_CS_GAMEHISTORYINFO), &CSHundredSceneGetGameHistoryInfoHandler{})
|
||
//netlib.RegisterFactory(int(gamehall.HundredScenePacketID_PACKET_CS_GAMEHISTORYINFO), &CSHundredSceneGetGameHistoryInfoPacketFactory{})
|
||
}
|