优化函数注册

This commit is contained in:
hahwu 2026-04-03 14:23:07 +08:00
parent ff0d901e2a
commit 6238719958
8 changed files with 516 additions and 1140 deletions

View File

@ -6,6 +6,7 @@ import (
"encoding/json"
"fmt"
"os"
"reflect"
"server/MergeConst"
"server/conf"
userCfg "server/conf/user"
@ -37,6 +38,7 @@ var (
var isInitGameLogic = false
var RegisterNetWorkFunc = make(map[string]interface{})
var NewRegisterNetWorkFunc = make(map[string]func(*Player, *proto.Message) error)
const (
SERVER_STATUS_OPEN = 1 // 服务器状态 开放
@ -49,6 +51,82 @@ func RegisterMsgProcessFunc(key string, value1 interface{}) {
RegisterNetWorkFunc[key] = value1
}
func RegisterNewMsgProcessFunc(key string, value interface{}) {
handler, err := buildNewMsgHandlerAdapter(value)
if err != nil {
panic(fmt.Sprintf("RegisterNewMsgProcessFunc[%s] invalid handler: %v", key, err))
}
NewRegisterNetWorkFunc[key] = handler
}
func buildNewMsgHandlerAdapter(value interface{}) (func(*Player, *proto.Message) error, error) {
if fn, ok := value.(func(*Player, *proto.Message) error); ok {
return fn, nil
}
if value == nil {
return nil, fmt.Errorf("handler is nil")
}
rv := reflect.ValueOf(value)
rt := rv.Type()
if rt.Kind() != reflect.Func {
return nil, fmt.Errorf("handler must be function, got %s", rt.Kind())
}
if rt.NumIn() != 2 || rt.NumOut() != 1 {
return nil, fmt.Errorf("handler signature must be func(*Player, *T) error")
}
if rt.In(0) != reflect.TypeOf(&Player{}) {
return nil, fmt.Errorf("first arg must be *Player")
}
errorType := reflect.TypeOf((*error)(nil)).Elem()
if !rt.Out(0).Implements(errorType) {
return nil, fmt.Errorf("return type must be error")
}
msgIfaceType := reflect.TypeOf((*proto.Message)(nil)).Elem()
msgArgType := rt.In(1)
if msgArgType == reflect.TypeOf((*proto.Message)(nil)) {
return func(player *Player, msg *proto.Message) error {
results := rv.Call([]reflect.Value{reflect.ValueOf(player), reflect.ValueOf(msg)})
if results[0].IsNil() {
return nil
}
return results[0].Interface().(error)
}, nil
}
if msgArgType.Kind() != reflect.Ptr || !msgArgType.Implements(msgIfaceType) {
return nil, fmt.Errorf("second arg must be *proto.Message or pointer type implementing proto.Message")
}
return func(player *Player, msg *proto.Message) error {
if msg == nil || *msg == nil {
return fmt.Errorf("nil proto message")
}
raw := *msg
rawType := reflect.TypeOf(raw)
if !rawType.AssignableTo(msgArgType) {
return fmt.Errorf("message type mismatch, expect %s got %s", msgArgType, rawType)
}
results := rv.Call([]reflect.Value{reflect.ValueOf(player), reflect.ValueOf(raw)})
if results[0].IsNil() {
return nil
}
return results[0].Interface().(error)
}, nil
}
func RunNewNetProcessByKey(key string, player *Player, msg *proto.Message) error {
fun, ok := NewRegisterNetWorkFunc[key]
if ok {
err := fun(player, msg)
return err
}
return fmt.Errorf("cant find network func %s", key)
}
func RunNetProcessByKey(key string, param []interface{}) error {
fun, ok := RegisterNetWorkFunc[key]
if ok {
@ -637,239 +715,239 @@ func (ad *GameLogic) RemoveOldLogs(days int) {
func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqRemoveAd", ReqRemoveAdFunc)
RegisterMsgProcessFunc("ReqPlayerBriefProfileData", ReqPlayerBriefProfileDataFunc)
RegisterMsgProcessFunc("ReqFriendPlayerSimple", ReqFriendPlayerSimple)
RegisterNewMsgProcessFunc("ReqRemoveAd", ReqRemoveAd)
RegisterNewMsgProcessFunc("ReqPlayerBriefProfileData", ReqPlayerBriefProfileData)
RegisterNewMsgProcessFunc("ReqFriendPlayerSimple", ReqFriendPlayerSimple)
// RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc)
RegisterMsgProcessFunc("ReqPlayerAsset", ReqPlayerAsset)
RegisterMsgProcessFunc("ReqId2Verify", ReqId2Verify) // 身份证验证
RegisterNewMsgProcessFunc("ReqPlayerAsset", ReqPlayerAsset)
RegisterNewMsgProcessFunc("ReqId2Verify", ReqId2Verify) // 身份证验证
// 玩家
RegisterMsgProcessFunc("ReqUserInfo", ReqUserInfo)
RegisterMsgProcessFunc("ReqSetName", ReqSetName) // 设置名字
RegisterMsgProcessFunc("ReqLang", ReqLang) // 设置语言
RegisterMsgProcessFunc("ReqSetPetName", ReqSetPetName) // 设置宠物名字
RegisterMsgProcessFunc("ReqSetFacebookUrl", ReqSetFacebookUrl) // 设置facebook地址
RegisterMsgProcessFunc("ReqPlayerBaseInfo", ReqPlayerBaseInfofunction) // 请求玩家基本信息
RegisterMsgProcessFunc("ReqKv", ReqKv) // 保存客户端数据
RegisterMsgProcessFunc("ReqGetEnergyByAD", ReqGetEnergyByAD) // 看广告获取能量
RegisterMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) // 购买能量
RegisterMsgProcessFunc("ReqAdWatch", ReqAdWatch) // 观看广告
RegisterNewMsgProcessFunc("ReqUserInfo", ReqUserInfo)
RegisterNewMsgProcessFunc("ReqSetName", ReqSetName) // 设置名字
RegisterNewMsgProcessFunc("ReqLang", ReqLang) // 设置语言
RegisterNewMsgProcessFunc("ReqSetPetName", ReqSetPetName) // 设置宠物名字
RegisterNewMsgProcessFunc("ReqSetFacebookUrl", ReqSetFacebookUrl) // 设置facebook地址
RegisterNewMsgProcessFunc("ReqPlayerBaseInfo", ReqPlayerBaseInfofunction) // 请求玩家基本信息
RegisterNewMsgProcessFunc("ReqKv", ReqKv) // 保存客户端数据
RegisterNewMsgProcessFunc("ReqGetEnergyByAD", ReqGetEnergyByAD) // 看广告获取能量
RegisterNewMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) // 购买能量
RegisterNewMsgProcessFunc("ReqAdWatch", ReqAdWatch) // 观看广告
// #region 棋盘
RegisterMsgProcessFunc("ReqPlayerChessData", ReqPlayerChessDataFunc)
RegisterMsgProcessFunc("UpdatePlayerChessData", UpdatePlayerChessDataFunc) // 更新棋盘数据
RegisterMsgProcessFunc("ReqSetEnergyMul", RegSetEneryFunc) //设置能量倍数
RegisterMsgProcessFunc("ReqChessEx", ReqChessEx) // 转换棋子
RegisterMsgProcessFunc("ReqGetChessFromBuff", ReqGetChessFromBuff) // 从buff中获取棋子
RegisterMsgProcessFunc("ReqPutPartInBag", ReqPutPartInBag) // 把零件放入背包
RegisterMsgProcessFunc("ReqPutChessInBag", ReqPutChessInBag) // 把棋子放入背包
RegisterMsgProcessFunc("ReqTakeChessOutBag", ReqTakeChessOutBag) // 从背包中取出棋子
RegisterMsgProcessFunc("ReqTakeChessOutBagToHonor", ReqTakeChessOutBagToHonor) // 从背包中取出棋子
RegisterMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 解锁背包格子
RegisterMsgProcessFunc("ReqSourceChest", ReqSourceChest) // 开宝箱
RegisterMsgProcessFunc("ReqSeparateChess", ReqSeparateChess) // 分解棋子
RegisterMsgProcessFunc("ReqUpgradeChess", ReqUpgradeChess) // 升级棋子
RegisterMsgProcessFunc("ReqSellChessNum", ReqSellChessNum) //购买能量
RegisterMsgProcessFunc("ReqGetChessRetireReward", ReqGetChessRetireReward) //领取棋子退役奖励
RegisterNewMsgProcessFunc("ReqPlayerChessData", ReqPlayerChessData)
RegisterNewMsgProcessFunc("UpdatePlayerChessData", UpdatePlayerChessData) // 更新棋盘数据
RegisterNewMsgProcessFunc("ReqSetEnergyMul", RegSetEneryFunc) //设置能量倍数
RegisterNewMsgProcessFunc("ReqChessEx", ReqChessEx) // 转换棋子
RegisterNewMsgProcessFunc("ReqGetChessFromBuff", ReqGetChessFromBuff) // 从buff中获取棋子
RegisterNewMsgProcessFunc("ReqPutPartInBag", ReqPutPartInBag) // 把零件放入背包
RegisterNewMsgProcessFunc("ReqPutChessInBag", ReqPutChessInBag) // 把棋子放入背包
RegisterNewMsgProcessFunc("ReqTakeChessOutBag", ReqTakeChessOutBag) // 从背包中取出棋子
RegisterNewMsgProcessFunc("ReqTakeChessOutBagToHonor", ReqTakeChessOutBagToHonor) // 从背包中取出棋子
RegisterNewMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 解锁背包格子
RegisterNewMsgProcessFunc("ReqSourceChest", ReqSourceChest) // 开宝箱
RegisterNewMsgProcessFunc("ReqSeparateChess", ReqSeparateChess) // 分解棋子
RegisterNewMsgProcessFunc("ReqUpgradeChess", ReqUpgradeChess) // 升级棋子
RegisterNewMsgProcessFunc("ReqSellChessNum", ReqSellChessNum) //购买能量
RegisterNewMsgProcessFunc("ReqGetChessRetireReward", ReqGetChessRetireReward) //领取棋子退役奖励
//领取图鉴奖励
RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
RegisterMsgProcessFunc("RegHandbookAllReward", RegHandbookAllReward) //领取图鉴收集奖励
RegisterNewMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励
RegisterNewMsgProcessFunc("RegHandbookAllReward", RegHandbookAllReward) //领取图鉴收集奖励
//领取订单奖励
RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
RegisterMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单
RegisterMsgProcessFunc("ReqCreatePetOrder", ReqCreatePetOrder) // 生成消耗品订单
RegisterNewMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励
RegisterNewMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单
RegisterNewMsgProcessFunc("ReqCreatePetOrder", ReqCreatePetOrder) // 生成消耗品订单
//装饰
RegisterMsgProcessFunc("ReqDecorate", ReqDecorate) // 装饰
RegisterMsgProcessFunc("ReqDecorateAll", ReqDecorateAll) // 装饰全部
RegisterMsgProcessFunc("ReqAreaReward", ReqAreaReward) // 章节奖励
RegisterNewMsgProcessFunc("ReqDecorate", ReqDecorate) // 装饰
RegisterNewMsgProcessFunc("ReqDecorateAll", ReqDecorateAll) // 装饰全部
RegisterNewMsgProcessFunc("ReqAreaReward", ReqAreaReward) // 章节奖励
//Gm命令
RegisterMsgProcessFunc("ReqGmCommand", ReqGmCommand) // Gm命令
RegisterNewMsgProcessFunc("ReqGmCommand", ReqGmCommand) // Gm命令
// #region 卡牌
RegisterMsgProcessFunc("ReqCardInfo", ReqCardInfo) // 请求卡牌信息
RegisterMsgProcessFunc("ReqCardSeasonFirstReward", ReqCardSeasonFirstReward) // 领取赛季首次奖励
RegisterMsgProcessFunc("ReqCardCollectReward", ReqCardCollectReward) //领取卡牌系列收集奖励
RegisterMsgProcessFunc("ReqExStarReward", ReqExStarReward) // 兑换收集星星奖励
RegisterMsgProcessFunc("ReqAllCollectReward", ReqAllCollectReward) // 领取全收集奖励
RegisterMsgProcessFunc("ReqCardGive", ReqCardGive) // 请求赠送卡牌
RegisterMsgProcessFunc("ReqAgreeCardGive", ReqAgreeCardGive) // 同意赠送卡牌
RegisterMsgProcessFunc("ReqRefuseCardGive", ReqRefuseCardGive) // 拒绝赠送卡牌
RegisterNewMsgProcessFunc("ReqCardInfo", ReqCardInfo) // 请求卡牌信息
RegisterNewMsgProcessFunc("ReqCardSeasonFirstReward", ReqCardSeasonFirstReward) // 领取赛季首次奖励
RegisterNewMsgProcessFunc("ReqCardCollectReward", ReqCardCollectReward) //领取卡牌系列收集奖励
RegisterNewMsgProcessFunc("ReqExStarReward", ReqExStarReward) // 兑换收集星星奖励
RegisterNewMsgProcessFunc("ReqAllCollectReward", ReqAllCollectReward) // 领取全收集奖励
RegisterNewMsgProcessFunc("ReqCardGive", ReqCardGive) // 请求赠送卡牌
RegisterNewMsgProcessFunc("ReqAgreeCardGive", ReqAgreeCardGive) // 同意赠送卡牌
RegisterNewMsgProcessFunc("ReqRefuseCardGive", ReqRefuseCardGive) // 拒绝赠送卡牌
RegisterMsgProcessFunc("ReqCardExchange", ReqCardExchange) // 请求交换卡牌
RegisterMsgProcessFunc("ReqSelectCardExchange", ReqSelectCardExchange) // 选择交换的卡牌
RegisterMsgProcessFunc("ReqAgreeCardExchange", ReqAgreeCardExchange) // 完成交换卡牌
RegisterMsgProcessFunc("ReqRefuseCardSelect", ReqRefuseCardSelect) // 拒绝选择卡牌进行交换
RegisterMsgProcessFunc("ReqRefuseCardExchange", ReqRefuseCardExchange) // 拒绝卡牌交换
RegisterMsgProcessFunc("ReqCardSend", ReqCardSend) // 直接赠送卡牌
RegisterMsgProcessFunc("ReqGetFriendCard", ReqGetFriendCard) // 领取好友赠送的卡牌
RegisterMsgProcessFunc("ReqMasterCard", ReqMasterCard) // 万能卡兑换
RegisterMsgProcessFunc("ReqCardHandbookReward", ReqCardHandbookReward) // 卡牌图鉴
RegisterNewMsgProcessFunc("ReqCardExchange", ReqCardExchange) // 请求交换卡牌
RegisterNewMsgProcessFunc("ReqSelectCardExchange", ReqSelectCardExchange) // 选择交换的卡牌
RegisterNewMsgProcessFunc("ReqAgreeCardExchange", ReqAgreeCardExchange) // 完成交换卡牌
RegisterNewMsgProcessFunc("ReqRefuseCardSelect", ReqRefuseCardSelect) // 拒绝选择卡牌进行交换
RegisterNewMsgProcessFunc("ReqRefuseCardExchange", ReqRefuseCardExchange) // 拒绝卡牌交换
RegisterNewMsgProcessFunc("ReqCardSend", ReqCardSend) // 直接赠送卡牌
RegisterNewMsgProcessFunc("ReqGetFriendCard", ReqGetFriendCard) // 领取好友赠送的卡牌
RegisterNewMsgProcessFunc("ReqMasterCard", ReqMasterCard) // 万能卡兑换
RegisterNewMsgProcessFunc("ReqCardHandbookReward", ReqCardHandbookReward) // 卡牌图鉴
// 日常任务
RegisterMsgProcessFunc("ReqGetDailyTaskReward", ReqGetDailyTaskReward) // 领取日常任务奖励
RegisterMsgProcessFunc("ReqGetDailyWeekReward", ReqGetDailyWeekReward) // 领取周活跃奖励
RegisterMsgProcessFunc("ReqDailyUnlock", ReqDailyUnlock) // 日常任务解锁
RegisterNewMsgProcessFunc("ReqGetDailyTaskReward", ReqGetDailyTaskReward) // 领取日常任务奖励
RegisterNewMsgProcessFunc("ReqGetDailyWeekReward", ReqGetDailyWeekReward) // 领取周活跃奖励
RegisterNewMsgProcessFunc("ReqDailyUnlock", ReqDailyUnlock) // 日常任务解锁
// 新手任务
RegisterMsgProcessFunc("ReqGetGuideTaskReward", ReqGetGuideTaskReward) // 领取日新手任务奖励
RegisterMsgProcessFunc("ReqGetGuideActiveReward", ReqGetGuideActiveReward) // 领取活跃奖励
RegisterNewMsgProcessFunc("ReqGetGuideTaskReward", ReqGetGuideTaskReward) // 领取日新手任务奖励
RegisterNewMsgProcessFunc("ReqGetGuideActiveReward", ReqGetGuideActiveReward) // 领取活跃奖励
// 引导奖励
RegisterMsgProcessFunc("ReqGuideReward", ReqGuideReward) // 领取引导奖励
RegisterMsgProcessFunc("ReqGuidePlayroom", ReqGuidePlayroom) // 领取playroom引导奖励
RegisterNewMsgProcessFunc("ReqGuideReward", ReqGuideReward) // 领取引导奖励
RegisterNewMsgProcessFunc("ReqGuidePlayroom", ReqGuidePlayroom) // 领取playroom引导奖励
// 头像
RegisterMsgProcessFunc("ReqSetFace", ReqSetFace) // 设置头像
RegisterNewMsgProcessFunc("ReqSetFace", ReqSetFace) // 设置头像
// 头像框
RegisterMsgProcessFunc("ReqSetAvatar", ReqSetAvatar) // 设置头像框
RegisterNewMsgProcessFunc("ReqSetAvatar", ReqSetAvatar) // 设置头像框
// 表情
RegisterMsgProcessFunc("ReqSetEmoji", ReqSetEmoji) // 设置表情
RegisterNewMsgProcessFunc("ReqSetEmoji", ReqSetEmoji) // 设置表情
// 收藏室
RegisterMsgProcessFunc("ReqCollectInfo", ReqCollectInfo) // 请求收藏室数据
RegisterMsgProcessFunc("ReqCollect", ReqCollect) // 领取收藏室奖励
RegisterNewMsgProcessFunc("ReqCollectInfo", ReqCollectInfo) // 请求收藏室数据
RegisterNewMsgProcessFunc("ReqCollect", ReqCollect) // 领取收藏室奖励
// 七日签到
RegisterMsgProcessFunc("ReqGetSevenLoginReward", ReqGetSevenLoginReward) // 领取七日签到奖励
RegisterMsgProcessFunc("ReqGetMonthLoginReward", ReqGetMonthLoginReward) // 领取月签到奖励
RegisterNewMsgProcessFunc("ReqGetSevenLoginReward", ReqGetSevenLoginReward) // 领取七日签到奖励
RegisterNewMsgProcessFunc("ReqGetMonthLoginReward", ReqGetMonthLoginReward) // 领取月签到奖励
// 限时事件
RegisterMsgProcessFunc("ReqLimitEvent", ReqLimitEvent) // 请求限时事件数据
RegisterMsgProcessFunc("ReqFastProduceReward", ReqFastProduceReward) // 连击快手奖励
RegisterMsgProcessFunc("ReqFastProduceInfo", ReqFastProduceInfo) // 请求连击快手数据
RegisterMsgProcessFunc("ReqLimitSenceReward", ReqLimitSenceReward) // 获取场景转盘奖励
RegisterMsgProcessFunc("ReqSelectLimitEvent", ReqSelectLimitEvent) //领取Bouns限时事件进度奖励
RegisterMsgProcessFunc("ReqGetGoldCard", ReqGetGoldCard) //请求金卡交换信息
RegisterMsgProcessFunc("ReqLimitEventLuckyCat", ReqLimitEventLuckyCat) //幸运猫获取奖励
RegisterMsgProcessFunc("ReqCatTrickReward", ReqCatTrickReward) //小猫戏法获取奖励
RegisterNewMsgProcessFunc("ReqLimitEvent", ReqLimitEvent) // 请求限时事件数据
RegisterNewMsgProcessFunc("ReqFastProduceReward", ReqFastProduceReward) // 连击快手奖励
RegisterNewMsgProcessFunc("ReqFastProduceInfo", ReqFastProduceInfo) // 请求连击快手数据
RegisterNewMsgProcessFunc("ReqLimitSenceReward", ReqLimitSenceReward) // 获取场景转盘奖励
RegisterNewMsgProcessFunc("ReqSelectLimitEvent", ReqSelectLimitEvent) //领取Bouns限时事件进度奖励
RegisterNewMsgProcessFunc("ReqGetGoldCard", ReqGetGoldCard) //请求金卡交换信息
RegisterNewMsgProcessFunc("ReqLimitEventLuckyCat", ReqLimitEventLuckyCat) //幸运猫获取奖励
RegisterNewMsgProcessFunc("ReqCatTrickReward", ReqCatTrickReward) //小猫戏法获取奖励
// #region 好友
RegisterMsgProcessFunc("ReqFriendList", ReqFriendList) // 请求好友列表
RegisterMsgProcessFunc("ReqFriendApply", ReqFriendApply) // 请求申请好友列表
RegisterMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表
RegisterMsgProcessFunc("ReqWishApplyList", ReqWishApplyList) // 请求好友心愿单申请列表
RegisterMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线
RegisterMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友
RegisterMsgProcessFunc("ReqFriendTLUpvote", ReqFriendTLUpvote) // 请求时间线点赞
RegisterMsgProcessFunc("ReqFriendTReward", ReqFriendTReward) // 获取时间线奖励
RegisterMsgProcessFunc("ReqAddNpc", ReqAddNpc) // 增加npc
RegisterMsgProcessFunc("ReqWishApply", ReqWishApply) // 同意好友心愿单请求
RegisterMsgProcessFunc("ReqFriendByCode", ReqFriendByCode) // 根据邀请码查询好友
RegisterMsgProcessFunc("ReqFriendReplyHandle", ReqFriendReplyHandle) // 回复好友信息
RegisterNewMsgProcessFunc("ReqFriendList", ReqFriendList) // 请求好友列表
RegisterNewMsgProcessFunc("ReqFriendApply", ReqFriendApply) // 请求申请好友列表
RegisterNewMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表
RegisterNewMsgProcessFunc("ReqWishApplyList", ReqWishApplyList) // 请求好友心愿单申请列表
RegisterNewMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线
RegisterNewMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友
RegisterNewMsgProcessFunc("ReqFriendTLUpvote", ReqFriendTLUpvote) // 请求时间线点赞
RegisterNewMsgProcessFunc("ReqFriendTReward", ReqFriendTReward) // 获取时间线奖励
RegisterNewMsgProcessFunc("ReqAddNpc", ReqAddNpc) // 增加npc
RegisterNewMsgProcessFunc("ReqWishApply", ReqWishApply) // 同意好友心愿单请求
RegisterNewMsgProcessFunc("ReqFriendByCode", ReqFriendByCode) // 根据邀请码查询好友
RegisterNewMsgProcessFunc("ReqFriendReplyHandle", ReqFriendReplyHandle) // 回复好友信息
RegisterMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友
RegisterMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友
RegisterMsgProcessFunc("ReqAgreeFriend", ReqAgreeFriend) // 同意申请
RegisterMsgProcessFunc("ReqRefuseFriend", ReqRefuseFriend) // 拒绝申请
RegisterMsgProcessFunc("ReqDelFriend", ReqDelFriend) // 删除好友
RegisterNewMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友
RegisterNewMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友
RegisterNewMsgProcessFunc("ReqAgreeFriend", ReqAgreeFriend) // 同意申请
RegisterNewMsgProcessFunc("ReqRefuseFriend", ReqRefuseFriend) // 拒绝申请
RegisterNewMsgProcessFunc("ReqDelFriend", ReqDelFriend) // 删除好友
// Facebook邀请好友
RegisterMsgProcessFunc("ReqInviteFriendData", ReqInviteFriendData) // 请求邀请好友数据
RegisterMsgProcessFunc("ReqSelfInvited", ReqSelfInvited) // 请求自己邀请的好友
RegisterMsgProcessFunc("ReqGetInviteReward", ReqGetInviteReward) // 领取邀请奖励
RegisterMsgProcessFunc("ReqAutoAddInviteFriend", ReqAutoAddInviteFriend) // 自动添加邀请好友
RegisterMsgProcessFunc("ReqAutoAddInviteFriend2", ReqAutoAddInviteFriend2) // 自动添加邀请好友
RegisterMsgProcessFunc("ReqBindFacebookAccount", ReqBindFacebookAccount) // 绑定facebook账号
RegisterMsgProcessFunc("ReqOnlyBindFacebook", ReqOnlyBindFacebook) // 绑定唯一facebook
RegisterMsgProcessFunc("ReqUnBindFacebook", ReqUnBindFacebook) // 解绑facebook
RegisterMsgProcessFunc("ReqSynGameData", ReqSynGameData) // 同步账号数据
RegisterNewMsgProcessFunc("ReqInviteFriendData", ReqInviteFriendData) // 请求邀请好友数据
RegisterNewMsgProcessFunc("ReqSelfInvited", ReqSelfInvited) // 请求自己邀请的好友
RegisterNewMsgProcessFunc("ReqGetInviteReward", ReqGetInviteReward) // 领取邀请奖励
RegisterNewMsgProcessFunc("ReqAutoAddInviteFriend", ReqAutoAddInviteFriend) // 自动添加邀请好友
RegisterNewMsgProcessFunc("ReqAutoAddInviteFriend2", ReqAutoAddInviteFriend2) // 自动添加邀请好友
RegisterNewMsgProcessFunc("ReqBindFacebookAccount", ReqBindFacebookAccount) // 绑定facebook账号
RegisterNewMsgProcessFunc("ReqOnlyBindFacebook", ReqOnlyBindFacebook) // 绑定唯一facebook
RegisterNewMsgProcessFunc("ReqUnBindFacebook", ReqUnBindFacebook) // 解绑facebook
RegisterNewMsgProcessFunc("ReqSynGameData", ReqSynGameData) // 同步账号数据
// 榜单
RegisterMsgProcessFunc("ReqRank", ReqRank) // 请求榜单数据
RegisterNewMsgProcessFunc("ReqRank", ReqRank) // 请求榜单数据
// 邮件
RegisterMsgProcessFunc("ReqMailList", ReqMailList) // 请求邮件数据
RegisterMsgProcessFunc("ReqReadMail", ReqReadMail) // 读取邮件
RegisterMsgProcessFunc("ReqGetMailReward", ReqGetMailReward) // 领取邮件奖励
RegisterMsgProcessFunc("ReqDeleteMail", ReqDeleteMail) // 删除邮件
RegisterNewMsgProcessFunc("ReqMailList", ReqMailList) // 请求邮件数据
RegisterNewMsgProcessFunc("ReqReadMail", ReqReadMail) // 读取邮件
RegisterNewMsgProcessFunc("ReqGetMailReward", ReqGetMailReward) // 领取邮件奖励
RegisterNewMsgProcessFunc("ReqDeleteMail", ReqDeleteMail) // 删除邮件
// 商店
RegisterMsgProcessFunc("ReqFreeShop", ReqFreeShop) // 领取商店免费奖励
RegisterMsgProcessFunc("ReqBuyChessShop", ReqBuyChessShop) // 购买商店棋子
RegisterMsgProcessFunc("ReqBuyChessShop2", ReqBuyChessShop2) // 购买商店棋子直接加入棋盘
RegisterMsgProcessFunc("ReqRefreshChessShop", ReqRefreshChessShop) // 刷新棋子商店
RegisterMsgProcessFunc("ReqAddWish", ReqAddWish) // 添加心愿单
RegisterMsgProcessFunc("ReqGetWish", ReqGetWish) // 领取心愿单奖励
RegisterMsgProcessFunc("ReqSendWishBeg", ReqSendWishBeg) // 发送心愿单请求
RegisterNewMsgProcessFunc("ReqFreeShop", ReqFreeShop) // 领取商店免费奖励
RegisterNewMsgProcessFunc("ReqBuyChessShop", ReqBuyChessShop) // 购买商店棋子
RegisterNewMsgProcessFunc("ReqBuyChessShop2", ReqBuyChessShop2) // 购买商店棋子直接加入棋盘
RegisterNewMsgProcessFunc("ReqRefreshChessShop", ReqRefreshChessShop) // 刷新棋子商店
RegisterNewMsgProcessFunc("ReqAddWish", ReqAddWish) // 添加心愿单
RegisterNewMsgProcessFunc("ReqGetWish", ReqGetWish) // 领取心愿单奖励
RegisterNewMsgProcessFunc("ReqSendWishBeg", ReqSendWishBeg) // 发送心愿单请求
// 无尽礼包
RegisterMsgProcessFunc("ReqEndless", ReqEndless) // 请求无尽礼包数据
RegisterMsgProcessFunc("ReqEndlessReward", ReqEndlessReward) // 领取无尽礼包免费奖励
RegisterNewMsgProcessFunc("ReqEndless", ReqEndless) // 请求无尽礼包数据
RegisterNewMsgProcessFunc("ReqEndlessReward", ReqEndlessReward) // 领取无尽礼包免费奖励
// 小猪存钱罐
RegisterMsgProcessFunc("ReqPiggyBankReward", ReqPiggyBankReward) // 小猪存钱罐领取奖励
RegisterNewMsgProcessFunc("ReqPiggyBankReward", ReqPiggyBankReward) // 小猪存钱罐领取奖励
// 锦标赛
RegisterMsgProcessFunc("ReqChampship", ReqChampship) // 请求锦标赛数据
RegisterMsgProcessFunc("ReqChampshipReward", ReqChampshipReward) // 领取锦标赛奖励
RegisterMsgProcessFunc("ReqChampshipRankReward", ReqChampshipRankReward) // 领取锦标赛排行榜奖励
RegisterMsgProcessFunc("ReqChampshipRank", ReqChampshipRank) // 请求锦标赛排行榜
RegisterMsgProcessFunc("ReqChampshipPreRank", ReqChampshipPreRank) // 请求锦标赛昨日排行榜
RegisterNewMsgProcessFunc("ReqChampship", ReqChampship) // 请求锦标赛数据
RegisterNewMsgProcessFunc("ReqChampshipReward", ReqChampshipReward) // 领取锦标赛奖励
RegisterNewMsgProcessFunc("ReqChampshipRankReward", ReqChampshipRankReward) // 领取锦标赛排行榜奖励
RegisterNewMsgProcessFunc("ReqChampshipRank", ReqChampshipRank) // 请求锦标赛排行榜
RegisterNewMsgProcessFunc("ReqChampshipPreRank", ReqChampshipPreRank) // 请求锦标赛昨日排行榜
// #region 活动
RegisterMsgProcessFunc("ReqActivityReward", ReqActivityReward) // 领取活动奖励
RegisterMsgProcessFunc("ReqAddGiftReward", ReqAddGiftReward) // 领取加赠活动奖励
RegisterNewMsgProcessFunc("ReqActivityReward", ReqActivityReward) // 领取活动奖励
RegisterNewMsgProcessFunc("ReqAddGiftReward", ReqAddGiftReward) // 领取加赠活动奖励
// 挖矿
RegisterMsgProcessFunc("ReqMining", ReqMining) // 请求挖矿数据
RegisterMsgProcessFunc("ReqMiningReward", ReqMiningReward) // 领取挖矿奖励
RegisterMsgProcessFunc("ReqMiningTake", ReqMiningTake) // 挖矿
RegisterNewMsgProcessFunc("ReqMining", ReqMining) // 请求挖矿数据
RegisterNewMsgProcessFunc("ReqMiningReward", ReqMiningReward) // 领取挖矿奖励
RegisterNewMsgProcessFunc("ReqMiningTake", ReqMiningTake) // 挖矿
// 猜颜色
RegisterMsgProcessFunc("ReqGuessColor", ReqGuessColor) // 请求猜颜色数据
RegisterMsgProcessFunc("ReqGuessColorReward", ReqGuessColorReward) // 领取猜颜色奖励
RegisterMsgProcessFunc("ReqGuessColorTake", ReqGuessColorTake) // 猜颜色
RegisterNewMsgProcessFunc("ReqGuessColor", ReqGuessColor) // 请求猜颜色数据
RegisterNewMsgProcessFunc("ReqGuessColorReward", ReqGuessColorReward) // 领取猜颜色奖励
RegisterNewMsgProcessFunc("ReqGuessColorTake", ReqGuessColorTake) // 猜颜色
// 三段竞赛
RegisterMsgProcessFunc("ReqRace", ReqRace)
RegisterMsgProcessFunc("ReqRaceReward", ReqRaceReward)
RegisterMsgProcessFunc("ReqRaceStart", ReqRaceStart)
RegisterNewMsgProcessFunc("ReqRace", ReqRace)
RegisterNewMsgProcessFunc("ReqRaceReward", ReqRaceReward)
RegisterNewMsgProcessFunc("ReqRaceStart", ReqRaceStart)
// 猫草大作战
RegisterMsgProcessFunc("ReqCatnip", ReqCatnip) // 请求猫草大作战数据
RegisterMsgProcessFunc("ReqCatnipInvite", ReqCatnipInvite) // 猫草大作战邀请好友
RegisterMsgProcessFunc("ReqCatnipAgree", ReqCatnipAgree) // 同意邀请
RegisterMsgProcessFunc("ReqCatnipRefuse", ReqCatnipRefuse) // 拒绝邀请
RegisterMsgProcessFunc("ReqCatnipMultiply", ReqCatnipMultiply) // 猫草大作战倍数
RegisterMsgProcessFunc("ReqCatnipPlay", ReqCatnipPlay) // 猫草大作战游戏转盘
RegisterMsgProcessFunc("ReqCatnipReward", ReqCatnipReward) // 猫草大作战领取奖励
RegisterMsgProcessFunc("ReqCatnipGrandReward", ReqCatnipGrandReward) // 猫草大作战领取大奖
RegisterMsgProcessFunc("ReqCatnipEmoji", ReqCatnipEmoji)
RegisterNewMsgProcessFunc("ReqCatnip", ReqCatnip) // 请求猫草大作战数据
RegisterNewMsgProcessFunc("ReqCatnipInvite", ReqCatnipInvite) // 猫草大作战邀请好友
RegisterNewMsgProcessFunc("ReqCatnipAgree", ReqCatnipAgree) // 同意邀请
RegisterNewMsgProcessFunc("ReqCatnipRefuse", ReqCatnipRefuse) // 拒绝邀请
RegisterNewMsgProcessFunc("ReqCatnipMultiply", ReqCatnipMultiply) // 猫草大作战倍数
RegisterNewMsgProcessFunc("ReqCatnipPlay", ReqCatnipPlay) // 猫草大作战游戏转盘
RegisterNewMsgProcessFunc("ReqCatnipReward", ReqCatnipReward) // 猫草大作战领取奖励
RegisterNewMsgProcessFunc("ReqCatnipGrandReward", ReqCatnipGrandReward) // 猫草大作战领取大奖
RegisterNewMsgProcessFunc("ReqCatnipEmoji", ReqCatnipEmoji)
// 活动通行证
RegisterMsgProcessFunc("ReqActPass", ReqActPass) // 请求活动通行证数据
RegisterMsgProcessFunc("ReqActPassReward", ReqActPassReward) // 领取活动通行证奖励
RegisterNewMsgProcessFunc("ReqActPass", ReqActPass) // 请求活动通行证数据
RegisterNewMsgProcessFunc("ReqActPassReward", ReqActPassReward) // 领取活动通行证奖励
// #region playroom
RegisterMsgProcessFunc("ReqPlayroom", ReqPlayroom) // 请求playroom数据
RegisterMsgProcessFunc("ReqPlayroomInfo", ReqPlayroomInfo) // 请求playroom拜访信息
RegisterMsgProcessFunc("ReqPlayroomDressSet", ReqPlayroomDressSet) // 设置服装
RegisterMsgProcessFunc("ReqPlayroomPetAirSet", ReqPlayroomPetAirSet) // 获取宠物空气
RegisterMsgProcessFunc("ReqPlayroomGame", ReqPlayroomGame) // 游戏结果
RegisterMsgProcessFunc("ReqPlayroomInteract", ReqPlayroomInteract) // 宠物交互
RegisterMsgProcessFunc("ReqPlayroomSetRoom", ReqPlayroomSetRoom) // playroom装饰
RegisterMsgProcessFunc("ReqPlayroomSelectReward", ReqPlayroomSelectReward) // playroom选择奖励
RegisterMsgProcessFunc("ReqPlayroomLose", ReqPlayroomLose) // 处理偷取的棋子
RegisterMsgProcessFunc("ReqPlayroomWork", ReqPlayroomWork) // 宠物工作
RegisterMsgProcessFunc("ReqPlayroomRest", ReqPlayroomRest) // 宠物休息
RegisterMsgProcessFunc("ReqPlayroomDraw", ReqPlayroomDraw) // 转盘
RegisterMsgProcessFunc("ReqPlayroomFlip", ReqPlayroomFlip) // 翻牌
RegisterMsgProcessFunc("ReqPlayroomFlipReward", ReqPlayroomFlipReward) // 翻牌奖励
RegisterMsgProcessFunc("ReqPlayroomChip", ReqPlayroomChip) // 消除碎片
RegisterMsgProcessFunc("ReqPlayroomOutline", ReqPlayroomOutline) // 打工离线
RegisterMsgProcessFunc("ReqPlayroomWrokOutline", ReqPlayroomWrokOutline) // 打工离线完成
RegisterMsgProcessFunc("ReqPlayroomShop", ReqPlayroomShop) // playroom 商店
RegisterMsgProcessFunc("ReqPlayroomBuyItem", ReqPlayroomBuyItem) // 购买playroom物品
RegisterMsgProcessFunc("ReqPlayroomUpvote", ReqPlayroomUpvote) // 点赞别人的playroom
RegisterMsgProcessFunc("ReqPlayroomUnlock", ReqPlayroomUnlock) // 解锁房间
RegisterMsgProcessFunc("ReqPlayroomTask", ReqPlayroomTask) // playroom任务
RegisterMsgProcessFunc("ReqPlayroomTaskReward", ReqPlayroomTaskReward) // 领取任务奖励
RegisterMsgProcessFunc("ReqPlayroomGameShowReward", ReqPlayroomGameShowReward) // 展示游戏结果数据
RegisterMsgProcessFunc("ReqPlayroomGuide", ReqPlayroomGuide) // 展示游戏结果数据
RegisterMsgProcessFunc("ReqPetFur", ReqPetFur) // 宠物毛皮信息
RegisterMsgProcessFunc("ReqPetFurBuy", ReqPetFurBuy) // 宠物毛皮商店购买
RegisterMsgProcessFunc("ReqFurSet", ReqFurSet) // 宠物毛皮设置
RegisterNewMsgProcessFunc("ReqPlayroom", ReqPlayroom) // 请求playroom数据
RegisterNewMsgProcessFunc("ReqPlayroomInfo", ReqPlayroomInfo) // 请求playroom拜访信息
RegisterNewMsgProcessFunc("ReqPlayroomDressSet", ReqPlayroomDressSet) // 设置服装
RegisterNewMsgProcessFunc("ReqPlayroomPetAirSet", ReqPlayroomPetAirSet) // 获取宠物空气
RegisterNewMsgProcessFunc("ReqPlayroomGame", ReqPlayroomGame) // 游戏结果
RegisterNewMsgProcessFunc("ReqPlayroomInteract", ReqPlayroomInteract) // 宠物交互
RegisterNewMsgProcessFunc("ReqPlayroomSetRoom", ReqPlayroomSetRoom) // playroom装饰
RegisterNewMsgProcessFunc("ReqPlayroomSelectReward", ReqPlayroomSelectReward) // playroom选择奖励
RegisterNewMsgProcessFunc("ReqPlayroomLose", ReqPlayroomLose) // 处理偷取的棋子
RegisterNewMsgProcessFunc("ReqPlayroomWork", ReqPlayroomWork) // 宠物工作
RegisterNewMsgProcessFunc("ReqPlayroomRest", ReqPlayroomRest) // 宠物休息
RegisterNewMsgProcessFunc("ReqPlayroomDraw", ReqPlayroomDraw) // 转盘
RegisterNewMsgProcessFunc("ReqPlayroomFlip", ReqPlayroomFlip) // 翻牌
RegisterNewMsgProcessFunc("ReqPlayroomFlipReward", ReqPlayroomFlipReward) // 翻牌奖励
RegisterNewMsgProcessFunc("ReqPlayroomChip", ReqPlayroomChip) // 消除碎片
RegisterNewMsgProcessFunc("ReqPlayroomOutline", ReqPlayroomOutline) // 打工离线
RegisterNewMsgProcessFunc("ReqPlayroomWrokOutline", ReqPlayroomWrokOutline) // 打工离线完成
RegisterNewMsgProcessFunc("ReqPlayroomShop", ReqPlayroomShop) // playroom 商店
RegisterNewMsgProcessFunc("ReqPlayroomBuyItem", ReqPlayroomBuyItem) // 购买playroom物品
RegisterNewMsgProcessFunc("ReqPlayroomUpvote", ReqPlayroomUpvote) // 点赞别人的playroom
RegisterNewMsgProcessFunc("ReqPlayroomUnlock", ReqPlayroomUnlock) // 解锁房间
RegisterNewMsgProcessFunc("ReqPlayroomTask", ReqPlayroomTask) // playroom任务
RegisterNewMsgProcessFunc("ReqPlayroomTaskReward", ReqPlayroomTaskReward) // 领取任务奖励
RegisterNewMsgProcessFunc("ReqPlayroomGameShowReward", ReqPlayroomGameShowReward) // 展示游戏结果数据
RegisterNewMsgProcessFunc("ReqPlayroomGuide", ReqPlayroomGuide) // 展示游戏结果数据
RegisterNewMsgProcessFunc("ReqPetFur", ReqPetFur) // 宠物毛皮信息
RegisterNewMsgProcessFunc("ReqPetFurBuy", ReqPetFurBuy) // 宠物毛皮商店购买
RegisterNewMsgProcessFunc("ReqFurSet", ReqFurSet) // 宠物毛皮设置
// 宠物宝藏
RegisterMsgProcessFunc("ReqFriendTreasure", ReqFriendTreasure) // 请求好友宝藏数据
RegisterMsgProcessFunc("ReqFriendTreasureStart", ReqFriendTreasureStart) // 开始游戏
RegisterMsgProcessFunc("ReqFriendTreasureFilp", ReqFriendTreasureFilp) // 翻牌
RegisterMsgProcessFunc("ReqFriendTreasureEnd", ReqFriendTreasureEnd) // 结束游戏
RegisterNewMsgProcessFunc("ReqFriendTreasure", ReqFriendTreasure) // 请求好友宝藏数据
RegisterNewMsgProcessFunc("ReqFriendTreasureStart", ReqFriendTreasureStart) // 开始游戏
RegisterNewMsgProcessFunc("ReqFriendTreasureFilp", ReqFriendTreasureFilp) // 翻牌
RegisterNewMsgProcessFunc("ReqFriendTreasureEnd", ReqFriendTreasureEnd) // 结束游戏
// #region 充值
RegisterMsgProcessFunc("ReqCreateOrderSn", ReqCreateOrderSn) // 创建订单号
RegisterMsgProcessFunc("ReqShippingOrder", ReqShippingOrder) // 获取订单号
RegisterMsgProcessFunc("ReqChargeReceive", ReqChargeReceive) // 礼包回复邮件
RegisterNewMsgProcessFunc("ReqCreateOrderSn", ReqCreateOrderSn) // 创建订单号
RegisterNewMsgProcessFunc("ReqShippingOrder", ReqShippingOrder) // 获取订单号
RegisterNewMsgProcessFunc("ReqChargeReceive", ReqChargeReceive) // 礼包回复邮件
}
func (ad *GameLogic) InitActivity() {

View File

@ -16,7 +16,6 @@ import (
"gitea.bywaystudios.com/pet_home/leaf/log"
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"
"server/db"
@ -232,7 +231,16 @@ func HandleClientReq(args []interface{}) {
p.(*Player).args = make(map[string]interface{})
p.(*Player).args["func"] = m
p.(*Player).args["agent"] = a
err := RunNetProcessByKey(m.GetFunc(), []interface{}{a, buf})
detailMsg, err := UnmarshalProtoMessageByName(m.GetFunc(), buf)
if err != nil {
log.Error("uid : %d, func : %s, unmarshal error : %s", p.(*Player).M_DwUin, m.GetFunc(), err)
p.(*Player).TeLog("func_unmarshal_error", map[string]interface{}{
"method_name": m.GetFunc(),
"error_info": err.Error(),
})
return
}
err = RunNewNetProcessByKey(m.GetFunc(), p.(*Player), &detailMsg)
if err != nil {
log.Error("uid : %d, func : %s, err : %s", p.(*Player).M_DwUin, m.GetFunc(), err)
p.(*Player).TeLog("func_exec_error", map[string]interface{}{
@ -242,17 +250,15 @@ func HandleClientReq(args []interface{}) {
p.(*Player).Recover(backup) //还原Player的数据
return
}
detailMsg, err := UnmarshalProtoMessageByName(m.GetFunc(), buf)
str := ""
var logDetailMsg *proto.Message
if conf.Server.GameName == "pet_home" || conf.Server.GameName == "merge_pet_sdk" {
strbuf, _ := protojson.Marshal(detailMsg)
str = string(strbuf)
logDetailMsg = &detailMsg
}
p.(*Player).ProcessTrigger()
p.(*Player).TeLog("func_exec_time", map[string]interface{}{
"method_name": m.GetFunc(),
"exec_time": fmt.Sprintf("%v", time.Since(start)),
"proto": str,
"proto": logDetailMsg,
})
}
}

View File

@ -36,14 +36,10 @@ import (
"time"
"gitea.bywaystudios.com/pet_home/leaf/log"
"google.golang.org/protobuf/proto"
)
func ReqGmCommand(player *Player, buf []byte) error {
detail := &msg.ReqGmCommand{}
proto.Unmarshal(buf, detail)
return ReqGmCommand_(player, detail.Command)
func ReqGmCommand(player *Player, req *msg.ReqGmCommand) error {
return ReqGmCommand_(player, req.Command)
}
func ReqGmCommand_(player *Player, Command string) error {
// defer func() {

View File

@ -199,11 +199,8 @@ func (p *PlayerBaseData) GetMaxEnergy() int {
// 更新游戏道具
func (p *PlayerBaseData) ReqRemoveAd(player *Player, buf []byte) {
req := &msg.ReqRemoveAd{}
func (p *PlayerBaseData) ReqRemoveAd(player *Player, req *msg.ReqRemoveAd) {
res := &msg.ResRemoveAd{}
proto.Unmarshal(buf, req)
p.Data.NoAd = 1
res.ResultCode = 0
@ -229,14 +226,8 @@ func (p *PlayerBaseData) ResPlayerBaseInfo(player *Player) {
})
}
func (p *PlayerBaseData) ReqBindFacebookAccount(player *Player, buf []byte) {
req := &msg.ReqBindFacebookAccount{}
func (p *PlayerBaseData) ReqBindFacebookAccount(player *Player, req *msg.ReqBindFacebookAccount) {
res := &msg.ResBindFacebookAccount{}
err := proto.Unmarshal(buf, req)
if err != nil {
return
}
sqlStr := "SELECT * FROM t_player_baseinfo WHERE FaceBookId = ?"
sqlStruck := db.ResPlayerBaseInfo{}
isHaveOther := false
@ -270,13 +261,8 @@ func (p *PlayerBaseData) ReqBindFacebookAccount(player *Player, buf []byte) {
G_getGameLogic().PackResInfo(agent, "ResBindFacebookAccount", data)
}
func (p *PlayerBaseData) ReqUnBindFacebook(player *Player, buf []byte) {
req := &msg.ReqUnBindFacebook{}
func (p *PlayerBaseData) ReqUnBindFacebook(player *Player, req *msg.ReqUnBindFacebook) {
res := &msg.ResUnBindFacebook{}
err := proto.Unmarshal(buf, req)
if err != nil {
return
}
res.ResultCode = 0
res.BindAccountId = req.BindAccountId
p.Data.FaceBookId = ""
@ -291,17 +277,12 @@ func (p *PlayerBaseData) ReqUnBindFacebook(player *Player, buf []byte) {
"platform_id": req.BindAccountId,
})
}
func (p *PlayerBaseData) ReqOnlyBindFacebook(player *Player, buf []byte) {
req := &msg.ReqOnlyBindFacebook{}
func (p *PlayerBaseData) ReqOnlyBindFacebook(player *Player, req *msg.ReqOnlyBindFacebook) {
res := &msg.ResOnlyBindFacebook{}
err := proto.Unmarshal(buf, req)
if err != nil {
return
}
sqlStr := "SELECT * FROM t_player_baseinfo WHERE FaceBookId = ?"
sqlStruck := db.ResPlayerBaseInfo{}
isHaveOther := false
err = db.SqlDb.Get(&sqlStruck, sqlStr, req.BindAccountId)
err := db.SqlDb.Get(&sqlStruck, sqlStr, req.BindAccountId)
if err != nil {
isHaveOther = false
} else {
@ -356,13 +337,8 @@ func (p *PlayerBaseData) ReqOnlyBindFacebook(player *Player, buf []byte) {
G_getGameLogic().PackResInfo(agent, "ResOnlyBindFacebook", data)
}
func (p *PlayerBaseData) ReqSynGameData(player *Player, buf []byte) {
req := &msg.ReqSynGameData{}
func (p *PlayerBaseData) ReqSynGameData(player *Player, req *msg.ReqSynGameData) {
res := &msg.ResSynGameData{}
err := proto.Unmarshal(buf, req)
if err != nil {
return
}
sqlStr := "SELECT * FROM t_player_baseinfo WHERE FaceBookId = ?"
sqlStruck := db.ResPlayerBaseInfo{}
isHaveOther := false

View File

@ -51,9 +51,8 @@ func (p *PlayerChessData) ResChessColorData(player *Player) {
}
// 同步棋盘数据
func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) error {
update := &msg.UpdatePlayerChessData{}
proto.Unmarshal(buf, update)
func (p *PlayerChessData) UpdatePlayerChessData(player *Player, req *msg.UpdatePlayerChessData) error {
update := req
lastMap := player.PlayMod.getChessMod().ChessMap
addChessList, addNewEmit, err := p.HandleChess(player, update.MChessHandle)
if err != nil {

File diff suppressed because it is too large Load Diff

View File

@ -13,11 +13,9 @@ import (
GoUtil "server/game_util"
"server/msg"
"strconv"
"google.golang.org/protobuf/proto"
)
func ReqFriendRecommend(player *Player, buf []byte) error {
func ReqFriendRecommend(player *Player, req *msg.ReqFriendRecommend) error {
FriendMod := player.PlayMod.getFriendMod()
RecommendList := make([]*msg.ResPlayerSimple, 0)
FriendNum := FriendMod.GetFriendNum()
@ -56,12 +54,7 @@ func ReqFriendRecommend(player *Player, buf []byte) error {
}
// 搜索用户
func ReqSearchPlayer(player *Player, buf []byte) error {
req := &msg.ReqSearchPlayer{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqSearchPlayer(player *Player, req *msg.ReqSearchPlayer) error {
Uid, err := strconv.Atoi(req.Uid)
list := make([]*msg.ResPlayerSimple, 0)
if err == nil {
@ -102,12 +95,7 @@ func ReqSearchPlayer(player *Player, buf []byte) error {
}
// 申请好友
func ReqApplyFriend(player *Player, buf []byte) error {
req := &msg.ReqApplyFriend{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqApplyFriend(player *Player, req *msg.ReqApplyFriend) error {
Uid := int(req.Uid)
FriendMod := player.PlayMod.getFriendMod()
if Uid == int(player.M_DwUin) {
@ -195,12 +183,7 @@ func ReqApplyFriend(player *Player, buf []byte) error {
}
// 同意申请
func ReqAgreeFriend(player *Player, buf []byte) error {
req := &msg.ReqAgreeFriend{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqAgreeFriend(player *Player, req *msg.ReqAgreeFriend) error {
Uid := int(req.Uid)
FriendMod := player.PlayMod.getFriendMod()
if !FriendMod.CheckApply(Uid) {
@ -247,12 +230,7 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
}
// 删除好友
func ReqDelFriend(player *Player, buf []byte) error {
req := &msg.ReqDelFriend{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqDelFriend(player *Player, req *msg.ReqDelFriend) error {
Uid := int(req.Uid)
m := &MsqMod.Msg{
Type: MsqMod.HANDLE_TYPE_DEL,
@ -277,12 +255,7 @@ func ReqDelFriend(player *Player, buf []byte) error {
}
// 拒绝申请
func ReqRefuseFriend(player *Player, buf []byte) error {
req := &msg.ReqRefuseFriend{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqRefuseFriend(player *Player, req *msg.ReqRefuseFriend) error {
Uid := int(req.Uid)
FriendMod := player.PlayMod.getFriendMod()
FriendMod.RefuseApply(Uid)
@ -304,32 +277,27 @@ func ReqRefuseFriend(player *Player, buf []byte) error {
return nil
}
func ReqFriendList(player *Player, buf []byte) error {
func ReqFriendList(player *Player, req *msg.ReqFriendList) error {
player.FriendListBackData()
return nil
}
func ReqFriendApply(player *Player, buf []byte) error {
func ReqFriendApply(player *Player, req *msg.ReqFriendApply) error {
player.FriendApplyBackData()
return nil
}
func ReqFriendCardMsg(player *Player, buf []byte) error {
func ReqFriendCardMsg(player *Player, req *msg.ReqFriendCardMsg) error {
player.FriendCardBackData()
return nil
}
func ReqFriendTimeLine(player *Player, buf []byte) error {
func ReqFriendTimeLine(player *Player, req *msg.ReqFriendTimeLine) error {
player.FriendLogBackData()
return nil
}
func ReqFriendTLUpvote(player *Player, buf []byte) error {
req := &msg.ReqFriendTLUpvote{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqFriendTLUpvote(player *Player, req *msg.ReqFriendTLUpvote) error {
FriendMod := player.PlayMod.getFriendMod()
Items, FUid, err := FriendMod.Upvote(int(req.Id))
if err != nil {
@ -370,12 +338,7 @@ func ReqFriendTLUpvote(player *Player, buf []byte) error {
return nil
}
func ReqFriendTReward(player *Player, buf []byte) error {
req := &msg.ReqFriendTReward{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqFriendTReward(player *Player, req *msg.ReqFriendTReward) error {
FriendMod := player.PlayMod.getFriendMod()
Items, err := FriendMod.GetReward(int(req.Id))
if err != nil {
@ -401,12 +364,7 @@ func ReqFriendTReward(player *Player, buf []byte) error {
return nil
}
func ReqFriendReplyHandle(player *Player, buf []byte) error {
req := &msg.ReqFriendReplyHandle{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqFriendReplyHandle(player *Player, req *msg.ReqFriendReplyHandle) error {
FriendMod := player.PlayMod.getFriendMod()
ReplyInfo := FriendMod.ReplyFriend(int(req.LogId))
if ReplyInfo == nil {
@ -486,7 +444,7 @@ func ReqFriendReplyHandle(player *Player, buf []byte) error {
}
}
if len(items) > 0 {
err = player.HandleItem(items, msg.ITEM_POP_LABEL_FriendReplyHandle.String())
err := player.HandleItem(items, msg.ITEM_POP_LABEL_FriendReplyHandle.String())
if err != nil {
player.SendErrClienRes(&msg.ResFriendReplyHandle{
Code: msg.RES_CODE_FAIL,
@ -505,12 +463,7 @@ func ReqFriendReplyHandle(player *Player, buf []byte) error {
return nil
}
func ReqFriendByCode(player *Player, buf []byte) error {
req := &msg.ReqFriendByCode{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqFriendByCode(player *Player, req *msg.ReqFriendByCode) error {
if req.Code == "" {
player.SendErrClienRes(&msg.ResFriendByCode{
Code: msg.RES_CODE_FAIL,
@ -550,14 +503,9 @@ func ReqFriendByCode(player *Player, buf []byte) error {
return nil
}
func ReqAddNpc(player *Player, buf []byte) error {
req := &msg.ReqAddNpc{}
err := proto.Unmarshal(buf, req)
if err != nil {
return err
}
func ReqAddNpc(player *Player, req *msg.ReqAddNpc) error {
FriendMod := player.PlayMod.getFriendMod()
err = FriendMod.SetNpc(int(req.NpcId))
err := FriendMod.SetNpc(int(req.NpcId))
if err != nil {
player.SendErrClienRes(&msg.ResAddNpc{
Code: msg.RES_CODE_FAIL,

View File

@ -2,26 +2,19 @@ package game
import (
"server/msg"
"google.golang.org/protobuf/proto"
)
func ReqPetFur(player *Player, buf []byte) error {
func ReqPetFur(player *Player, req *msg.ReqPetFur) error {
FurMod := player.GetFurMod()
player.PushClientRes(FurMod.BackData())
return nil
}
func ReqPetFurBuy(player *Player, buf []byte) error {
var req msg.ReqPetFurBuy
err := proto.Unmarshal(buf, &req)
if err != nil {
return err
}
func ReqPetFurBuy(player *Player, req *msg.ReqPetFurBuy) error {
FurMod := player.GetFurMod()
costList, AddItem := FurMod.GetFurBuyCost(int(req.FurId))
// 扣除物品
err = player.HandleLoseItem(costList, msg.ITEM_POP_LABEL_PetFurShop.String())
err := player.HandleLoseItem(costList, msg.ITEM_POP_LABEL_PetFurShop.String())
if err != nil {
return err
}
@ -34,14 +27,9 @@ func ReqPetFurBuy(player *Player, buf []byte) error {
return nil
}
func ReqFurSet(player *Player, buf []byte) error {
var req msg.ReqFurSet
err := proto.Unmarshal(buf, &req)
if err != nil {
return err
}
func ReqFurSet(player *Player, req *msg.ReqFurSet) error {
FurMod := player.GetFurMod()
err = FurMod.SetFur(int(req.FurId))
err := FurMod.SetFur(int(req.FurId))
if err != nil {
return err
}