GetPicItem = GetPicItem or BaseClass(BaseItem) local GetPicItem = GetPicItem function GetPicItem:__init() self.base_file = "common" self.layout_file = "GetGoodsItem" self.is_delay_callback = true self.can_go = true self.model = ComposeModel:getInstance() self.need_refresh = false self:Load() end function GetPicItem:__delete() if self.icon_item then self.icon_item:DeleteMe() self.icon_item = nil end end function GetPicItem:Load_callback() self.icon = self:GetChild("icon"):GetComponent("Image") self.icon_trans = self:GetChild("icon").transform --self.bg = self:GetChild("bg"):GetComponent("Image") self.name = self:GetChild("desc/name"):GetComponent("Text") self.hint = self:GetChild("desc/hint"):GetComponent("Text") self.level = self:GetChild("level"):GetComponent("Text") self.go = self:GetChild("go").gameObject self.mask = self:GetChild("mask").gameObject self.recommend = self:GetChild("recommend").gameObject self.click = self:GetChild("click").gameObject self:InitEvent() if self.need_refresh then self:SetData(self.data, self.pic_id, self.callback) end end function GetPicItem:InitEvent() local function onBtnClickHandler(target) if target == self.click then self:GoFunc() end end AddClickEvent(self.click, onBtnClickHandler) end function GetPicItem:GoFunc() if self.data[1] == "331" then Message.show("请关注开启的各种精彩活动哦") else if self.can_go then GlobalEventSystem:Fire(EventName.CLOSE_ALL_VIEW) if self.data[1] == "132" then --野外挂机 self:FindWay() elseif self.data[1] == "153" then --商城 local parm_1, parm_2 if self.data[2] == "6" then parm_1 = 5 parm_2 = self.type_id elseif self.data[2] == "7" then parm_1 = self.type_id parm_2 = 1 else parm_1 = tonumber(self.data[2]) parm_2 = self.type_id end -- parm_2 = self.type_id OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2) elseif self.data[1] == "150" then local parm_1, parm_2 if self.data[2] == "1" then -- parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM elseif self.data[2] == "2" then parm_1 = ComposeModel.ComposePanelID.GOODS_JEWEL elseif self.data[2] == "3" then parm_1 = ComposeModel.ComposePanelID.GOODS_ITEM elseif self.data[2] == "4" then parm_1 = ComposeModel.ComposePanelID.GOODS_SUIT elseif self.data[2] == "5" then parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM end parm_2 = Config.Goodscomposeindex[self.type_id].target_id OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2) else OpenFun.Open(self.data[1], self.data[2]) end if self.callback then self.callback() end else Message.show("等级不足,快去升级吧!") end end end function GetPicItem:SetData(data, pic_id, callback) self.data = data self.pic_id = pic_id self.callback = callback if not self.data then return end if self.is_loaded then local main = tonumber(self.data[1]) local sub = tonumber(self.data[2]) local priority = self.data[3] == 1 and true or false if main == 132 then --野外挂机 local cfg = Config.Ac["132@0@1"] self.recommend:SetActive(priority) self.name.text = Trim(cfg.ac_name) lua_resM:setOutsideImageSprite(self, self.icon, GameResPath.GetDailyImage(Trim(cfg.ac_icon)), true) else local cfg = OpenFun.GetFunCfg(main, sub) if cfg then self.recommend:SetActive(priority) self.name.text = cfg.name local call_back = function( objs ) if not objs or not objs[0] then lua_resM:setOutsideImageSprite(self,self.icon,GameResPath.GetDailyImage(cfg.icon_res),true) end end local asset = cfg.icon_asset or "activityIcon_asset" lua_resM:setImageSprite(self,self.icon,asset,cfg.icon_res, cfg.bool_fit,call_back) if self.data[1] == "331" then --活动 self.hint.gameObject:SetActive(true) self.hint.text = "请关注"..cfg.name.."的开启哦!" self.go:SetActive(false) self.level.text = "" else self.hint.gameObject:SetActive(false) if RoleManager.Instance.mainRoleInfo.level < cfg.openLv then self:SetState(false) self.level.text = ""..cfg.openLv.."级开启" else self:SetState(true) self.level.text = "" end end end end else self.need_refresh = true end end function GetPicItem:SetState(bool) self.can_go = bool self.mask:SetActive(not bool) self.go:SetActive(bool) end function GetPicItem:FindWay() local onHookData = DailyModel:getInstance():GetOnhookConfig() if onHookData then local scene_id = tonumber(onHookData.scene_id) local pointList = ErlangParser:GetInstance():Parse(onHookData.xy) local index = math.random(1, #pointList) local randomPoint = pointList[index] local x = tonumber(randomPoint[1]) local y = tonumber(randomPoint[2]) local call_back = function () GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT) end local findVo = FindVo.New() findVo.type = FindVo.POINT findVo.sceneId = scene_id findVo.x = x / SceneObj.LogicRealRatio.x findVo.y = y / SceneObj.LogicRealRatio.y findVo.call_back = call_back GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT) Scene.Instance:FindElement(findVo) end end