package main import ( "mongo.games.com/goserver/core" "mongo.games.com/goserver/core/basic" "mongo.games.com/game/common" "mongo.games.com/game/model" "mongo.games.com/game/mq" ) func init() { mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.LoginLogCollName, Data: &model.LoginLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBGiveLog, Data: &model.CoinGiveLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.CoinLogCollName, Data: &model.CoinLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.ItemLogCollName, Data: &model.ItemLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.WelfareLogCollName, Data: &model.WelfareLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.OnlineLogCollName, Data: &model.OnlineLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.MQRankSeason, Data: &model.PlayerRankScore{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.MQRankPlayerCoin, Data: &model.RankPlayerCoin{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackBankrupt, Data: &model.BankruptLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackReliefund, Data: &model.ReliefFundLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBInvite, Data: &model.EvtInviteMsg{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.MQRankPlayerLevel, Data: &model.PlayerLevelInfo{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: model.MQRankPlayerPermit, Data: &model.PermitScore{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemPermitCycle, Data: &model.BackendPermitCycle{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemPermitRank, Data: &model.BackendPermitRank{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemPermitExchange, Data: &model.BackendPermitExchange{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemPermitJoin, Data: &model.BackendPermitJoin{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemPermitTask, Data: &model.BackendPermitTask{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackClientLog, Data: &model.ClientLogMysql{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemJyb, Data: &model.JybLog{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBVipGiftLog, Data: &model.DbVip{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemFreeGive, Data: &model.SystemFreeGive{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBLotteryCode, Data: &model.LotteryCode{}}) mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBLotteryLog, Data: &model.LotteryLog{}}) } func init() { // 金币对账 mq.RegisterHandler(&mq.RegisterHandlerParam{ Name: mq.WorldLogCoinAck, Data: &model.CoinLog{}, Handler: func(data interface{}) (err error) { log, ok := data.(*model.CoinLog) if !ok || log == nil { return } //通知主线程执行后续操作 core.CoreObject().SendCommand(basic.CommandWrapper(func(o *basic.Object) error { player := PlayerMgrSington.GetPlayerBySnId(log.SnId) if player != nil { player.Coin += log.RestCount player.SyncGameCoin(int(log.RoomId), log.SeqNo) } return nil }), true) return }, }) // 邀请数据同步 mq.RegisterHandler(&mq.RegisterHandlerParam{ Name: mq.WorldInviteAck, Data: &model.EvtInviteAckMsg{}, Handler: func(data interface{}) (err error) { log, ok := data.(*model.EvtInviteAckMsg) if !ok || log == nil { return } //通知主线程执行后续操作 core.CoreObject().SendCommand(basic.CommandWrapper(func(o *basic.Object) error { player := PlayerMgrSington.GetPlayerBySnId(log.Snid) if player != nil { // 邀请数量 player.INum = log.Num player.ResetTaskN(common.TaskTypeInviteNum) TaskSubjectSingleton.Touch(common.TaskTypeInviteNum, &TaskData{SnId: player.SnId, Num: player.INum}) // 邀请积分 player.IScore = log.Score player.ResetTaskN(common.TaskTypeInviteScore) TaskSubjectSingleton.Touch(common.TaskTypeInviteScore, &TaskData{ SnId: player.SnId, Num: log.Score, }) // 充值金额 player.IMoney = log.Money player.ResetTaskN(common.TaskTypeInviteRecharge) TaskSubjectSingleton.Touch(common.TaskTypeInviteRecharge, &TaskData{ SnId: player.SnId, Num: log.Money, }) } return nil }), true) return }, }) // 竞技馆奖励记录 mq.RegisterHandler(&mq.RegisterHandlerParam{ Name: mq.WorldCustomAward, Data: &model.CustomLogAward{}, Handler: func(data interface{}) (err error) { log, ok := data.(*model.CustomLogAward) if !ok { return } core.CoreObject().SendCommand(basic.CommandWrapper(func(o *basic.Object) error { for _, v := range LotteryMgrInst.GetList(log.Platform) { if v.GetState() != 2 { // 进行中的活动 continue } d := LotteryMgrInst.GetData(log.Platform, v.GetId()) d.CustomAward += log.Price } return nil }), true) return }, }) }