package msg import ( "rocommon" "rocommon/util" "roserver/baseserver/model" model2 "roserver/game/model" "roserver/serverproto" "strconv" ) func init() { serverproto.Handle_GAME_SSGameRoleAddItemListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGameRoleAddItemListReq) util.InfoF("receive SSGameRoleAddItemListNtf msg=%v", msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { role = model2.RoleMag.GetRoleFromOffline(msg.Uid) } if role != nil { addItems := make(map[int32]int32, 0) for _, v := range msg.ItemList { addItems[v.Key] = v.Value } if errCode := role.(*model2.Role).CanAddItemList(addItems); errCode != serverproto.ErrorCode_ERROR_OK { util.ErrorF("SSGameRoleAddItemListNtf: AddItemList Fail, errCode=%d", errCode) return } role.(*model2.Role).AddItemList(addItems, model2.AddFromType(msg.From), msg.Notify) newItemList := make([]*serverproto.KeyValueType, 0) for _, v := range msg.ItemList { newItemList = append(newItemList, &serverproto.KeyValueType{ Key: v.Key, Value: int32(role.(*model2.Role).GetResNum(v.Key)), }) } ackMsg := &serverproto.SSGameRoleAddItemListAck{ Uid: msg.Uid, ItemList: newItemList, } role.(*model2.Role).SendAllFruit(ackMsg) } }) serverproto.Handle_GAME_SSGameRoleDeleteItemListReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SSGameRoleDeleteItemListReq) util.InfoF("receive SSGameRoleDeleteItemListNtf msg=%v", msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { role = model2.RoleMag.GetRoleFromOffline(msg.Uid) } if role != nil { addItems := make(map[int32]int32, 0) for _, v := range msg.ItemList { addItems[v.Key] = v.Value } role.(*model2.Role).DelItemList(addItems, model2.AddItemST{AddFrom: model2.AddFromType(msg.From), Notify: msg.Notify}) newItemList := make([]*serverproto.KeyValueType, 0) for _, v := range msg.ItemList { newItemList = append(newItemList, &serverproto.KeyValueType{ Key: v.Key, Value: int32(role.(*model2.Role).GetResNum(v.Key)), }) } ackMsg := &serverproto.SSGameRoleDeleteItemListAck{ Uid: msg.Uid, ItemList: newItemList, } role.(*model2.Role).SendAllFruit(ackMsg) } }) serverproto.Handle_GAME_CSFruitJoinReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSFruitJoinReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSFruitJoinReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() headId := role.(*model2.Role).GetHeadId() msg.HeadId = strconv.Itoa(int(headId)) msg.Level = role.(*model2.Role).GetRoleLevel() msg.Nickname = role.(*model2.Role).GetNickName() msg.ChipNum = int32(role.(*model2.Role).GetRmb()) role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCFruitJoinAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitJoinAck) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) util.InfoF("uid=%v receive SCFruitJoinAck msg=%v", role.GetUUid(), msg) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSFruitChatReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSFruitChatReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSFruitJoinReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCFruitChatNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitChatNtf) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSFruitLeaveReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSFruitLeaveReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSFruitLeaveReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCFruitLeaveAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitLeaveAck) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } util.InfoF("uid=%v receive SCFruitLeaveAck msg=%v", role.GetUUid(), msg) role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSFruitBetReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSFruitBetReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSFruitBetReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCFruitBetAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitBetAck) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } if msg.Error == int32(serverproto.ErrorCode_ERROR_OK) { subRmb := int32(role.(*model2.Role).GetRoleBase().GetRmb()) - msg.MyChipNum //role.(*model2.Role).AddRmb(model2.AddItemST{ItemCount: subRmb}, false) role.(*model2.Role).DelItem(int32(serverproto.ResType_Res_Rmb), subRmb, model2.AddItemST{AddFrom: model2.AddFrom_Fruit}) } util.InfoF("uid=%v receive SCFruitBetAck msg=%v", role.GetUUid(), msg) role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCFruitStartBetNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitStartBetNtf) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCFruitSettleNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitSettleNtf) util.InfoF("uid=%v receive SCFruitSettleNtf msg=%v", msg.Uid, msg) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } if msg.AwardChipNum > 0 { addRmb := msg.AwardChipNum role.(*model2.Role).AddItem(int32(serverproto.ResType_Res_Rmb), addRmb, model2.AddFrom_Fruit) rewardPoint := uint32(addRmb / 4) role.(*model2.Role).GetRoleBattle().AddFruitIncomeRewardPoint(rewardPoint) msg.AddRewardPoint = rewardPoint } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCFruitSecTickNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitSecTickNtf) //util.InfoF("uid=%v receive SCFruitSecTickNtf msg=%v", msg.Uid, msg) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCFruitPlayerAwardRankNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCFruitPlayerAwardRankNtf) util.InfoF("uid=%v receive SCFruitPlayerAwardRankNtf msg=%v", msg.Uid, msg) newCliId := &model.ClientID{SessID: msg.Uid} role := model2.RoleMag.GetRole(*newCliId) if role == nil { return } role.ReplayGate(msg, true) }) /********************************************** LiveRoom **************************************************/ serverproto.Handle_GAME_CSLiveRoomJoinReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomJoinReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomJoinReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() headId := role.(*model2.Role).GetHeadId() msg.PlayerInfo = &serverproto.LiveRoomPlayerInfo{ HeadId: strconv.Itoa(int(headId)), Level: uint32(role.(*model2.Role).GetRoleLevel()), VipLevel: uint32(role.(*model2.Role).GetVipLevel()), Nickname: role.(*model2.Role).GetNickName(), HeadTitle: 1, Data: "", } msg.CoinNum = role.(*model2.Role).GetRmb() msg.GameChipNum = uint32(role.(*model2.Role).GetResNum(int32(serverproto.ResType_Res_Game_Chip))) role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomJoinAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomJoinAck) util.InfoF("uid=%v receive SCLiveRoomJoinAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomLeaveReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomLeaveReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomLeaveReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomLeaveAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomLeaveAck) util.InfoF("uid=%v receive SCLiveRoomLeaveAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomChatReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomChatReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomChatReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomChatNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomChatNtf) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } util.InfoF("uid=%v receive SCLiveRoomChatNtf msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomSendGiftReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomSendGiftReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomSendGiftReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomSendGiftAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomSendGiftAck) util.InfoF("uid=%v receive SCLiveRoomSendGiftAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomSendGiftNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomSendGiftNtf) util.InfoF("uid=%v receive SCLiveRoomSendGiftNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomAddHeartReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomAddHeartReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomAddHeartReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomAddHeartAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomAddHeartAck) util.InfoF("uid=%v receive SCLiveRoomAddHeartAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomGiftRankReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomGiftRankReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomGiftRankReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomGiftRankAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomGiftRankAck) util.InfoF("uid=%v receive SCLiveRoomGiftRankAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomGetReadyReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomGetReadyReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomGetReadyReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomGetReadyAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomGetReadyAck) util.InfoF("uid=%v receive SCLiveRoomGetReadyAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomGetReadyNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomGetReadyNtf) util.InfoF("uid=%v receive SCLiveRoomGetReadyNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_CSLiveRoomShowSubmitReq = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.CSLiveRoomShowSubmitReq) role := model2.RoleMag.GetRoleOrKick(cliId, ev) if role == nil { return } util.InfoF("uid=%v receive CSLiveRoomShowSubmitReq msg=%v", role.GetUUid(), msg) msg.Uid = role.GetUUid() role.(*model2.Role).SendAllFruit(msg) }) serverproto.Handle_GAME_SCLiveRoomShowSubmitAck = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomShowSubmitAck) util.InfoF("uid=%v receive SCLiveRoomShowSubmitAck msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomShowDataNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomShowDataNtf) util.InfoF("uid=%v receive SCLiveRoomShowDataNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomCMDTalkNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomCMDTalkNtf) util.InfoF("uid=%v receive SCLiveRoomCMDTalkNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomCMDPlayNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomCMDPlayNtf) util.InfoF("uid=%v receive SCLiveRoomCMDPlayNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomStageNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomStageNtf) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } util.InfoF("uid=%v receive SCLiveRoomStageNtf msg=%v", msg.Uid, msg) role.ReplayGate(msg, true) }) serverproto.Handle_GAME_SCLiveRoomResultNtf = model.HandleBackendMessage(func(ev rocommon.ProcEvent, cliId model.ClientID) { msg := ev.Msg().(*serverproto.SCLiveRoomResultNtf) util.InfoF("uid=%v receive SCLiveRoomResultNtf msg=%v", msg.Uid, msg) role := model2.RoleMag.GetRoleFromUUid(msg.Uid) if role == nil { return } // 给当前玩家发放奖励 //if msg.RewardList != nil { // for _, rewards := range msg.RewardList { // if rewards.Key == role.GetUUid() { // role.(model2.RoleLogicOuter).AddLiveRoomRewards(rewards.StrVal) // break // } // } //} role.ReplayGate(msg, true) }) }