local ThumbsUp_Model = {} local private = {} local EventSystem = require('Event/EventSystem') local thumbs_up_panel_pb = require('Proto.thumbs_up_panel_pb') local digTreasureId = nil --挖宝 function ThumbsUp_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageThumbsUp, private.ThumbsUpResp) NetManager.RegisterMsgCB(MessageEnums.MessageG2CPushThumbsUpOperate, private.ThumbsUpOperatePush) private.thumbsUpTipsList = {} --旧数据 只包含点赞目标是自己的 private.thumbsUpMemberList = {} --存储的是点赞数量 private.thumbsUpList = {} -- 存储所有点赞关系 被点赞 点赞别人 private.InitThumbsUpText() end function ThumbsUp_Model.SetDigTreasureId(id) digTreasureId = id end function ThumbsUp_Model.GetDigTreasureId() return digTreasureId end function private.InitThumbsUpText() private.allyThumbsUpText = {} private.enemyThumbsUpText = {} private.allyThumbsUpText[LuaConst.ActivityType.TVT] = {} private.enemyThumbsUpText[LuaConst.ActivityType.TVT] = {} private.allyThumbsUpText[LuaConst.ActivityType.TreasureDungeon] = {"IDS_DigTreasure_ThumbsUpMessage"} for i, v in DataSheetManager.Fight3v3ThumbsUpMessage:GetEnumerator() do if not string.isNilOrEmpty(v.AllyMessage) then table.insert(private.allyThumbsUpText[LuaConst.ActivityType.TVT], v.AllyMessage) end if not string.isNilOrEmpty(v.EnemyMessage) then table.insert(private.enemyThumbsUpText[LuaConst.ActivityType.TVT], v.EnemyMessage) end end private.enemyThumbsUpText[LuaConst.ActivityType.SyncSolo] = {} for i, v in DataSheetManager.Fight1v1ThumbsUpMessage:GetEnumerator() do if not string.isNilOrEmpty(v.EnemyMessage) then table.insert(private.enemyThumbsUpText[LuaConst.ActivityType.SyncSolo], v.EnemyMessage) end end end function private.GetRandomFromList(list) return list[math.random(1, #list)] end function ThumbsUp_Model.GetThumbsUpText(activityId, isEnemy) if isEnemy then return private.GetRandomFromList(private.enemyThumbsUpText[activityId]) else return private.GetRandomFromList(private.allyThumbsUpText[activityId]) end end function private.AddThumbsUpNumber(playerId) if not private.thumbsUpMemberList[playerId] then private.thumbsUpMemberList[playerId] = 1 else private.thumbsUpMemberList[playerId] = private.thumbsUpMemberList[playerId] + 1 end end function ThumbsUp_Model.GetThumbsUpNumber(playerId) return private.thumbsUpMemberList[playerId] or 0 end function ThumbsUp_Model.GetThumbsUpTipsListLength() return #private.thumbsUpTipsList end function ThumbsUp_Model.GetThumbsUpTipsList() if next(private.thumbsUpTipsList) then return table.remove(private.thumbsUpTipsList) end end function ThumbsUp_Model.ClearThumbsUpList() private.thumbsUpTipsList = {} private.thumbsUpMemberList = {} private.thumbsUpList = {} end function ThumbsUp_Model.SelfThumbsUpPlayer(acid) --是否自己点赞了该玩家 for i,v in ipairs(private.thumbsUpList) do logging.log(LTAG.LOG," SelfThumbsUpPlayer ",v.OriginACID == BattleDataGetter.GetAcID(),v.TargetACID == acid) if v.OriginACID == BattleDataGetter.GetAcID() and v.TargetACID == acid then return true end end return false end function ThumbsUp_Model.PlayerThumbsUpSelf(acid) --是否玩家点赞了自己 for i,v in ipairs(private.thumbsUpList) do if v.OriginACID == acid and v.TargetACID == BattleDataGetter.GetAcID() then return true end end return false end function ThumbsUp_Model.ThumbsUpReq(thumbsUpId, targetId) local msg = thumbs_up_panel_pb.ThumbsUpReq() msg.ThumbsUpID = thumbsUpId msg.TargetACID = targetId NetManager.SendMessage(MessageEnums.MessageThumbsUp, msg) end function private.ThumbsUpResp(msgResp) if msgResp.Resp.Code == 0 then CTL.Tips.AddTipsMsg(Const_IDS["IDS_RecommendFriends_ThumbUpSucceed"]) end end function private.ThumbsUpOperatePush(msg) logging.log(LTAG.LOG, "MessageG2CPushThumbsUpOperate", msg.ThumbsUpID, msg.OriginACID, msg.TargetACID) if msg.TargetACID == BattleDataGetter.GetAcID() then table.insert(private.thumbsUpTipsList, msg) end table.insert(private.thumbsUpList ,msg) private.AddThumbsUpNumber(msg.TargetACID) EventSystem.Dispatch(EventID.Interact_BattleResultThumbsUp,msg) end return ThumbsUp_Model