--seal尚未开始 请重做 SealToolTips = SealToolTips or BaseClass(BaseView) function SealToolTips:__init() self.base_file = "common" self.layout_file = "EquipToolTips" self.layer_name = "Top" self.use_background = true self.click_bg_toClose = true self.close_mode = CloseMode.CloseDestroy self.destroy_imm = true self.goods_vo = nil self.pos_x = 0 self.pos_y = 0 self.is_show_btn = false self.show_compare_tips = false --是否需要显示对比tips self.have_equip_data = nil --对比tips中,已穿戴的装备数据 self.model = GoodsModel:getInstance() --self:AddPreLoadList("common",{"SealCompareTips", "SealToolDecomItem"}) self.seal_item_list = {} self.load_callback = function () self:LoadSuccess() end self.open_callback = function () self.gameObject:SetActive(false) if self.need_refresh then self:InitView() end end self.close_callback = function () end self.destroy_callback = function () if self.icon_item then self.icon_item:DeleteMe() self.icon_item = nil end if self.compareTips then self.compareTips:DeleteMe() self.compareTips = nil end for i,v in ipairs(self.seal_item_list) do v:DeleteMe() v = nil end self.seal_item_list = {} self:DeleteArrowTip() if self.addNumComponent then if self.change_count_id then self.addNumComponent:UnBind(self.change_count_id) self.change_count_id = nil end self.addNumComponent:DeleteMe() self.addNumComponent = nil end end end function SealToolTips:InitEvent() local function onClickBtnHandler(target) if self.goods_vo and self.is_show_btn then if target == self.strengthBtn then SealModel:getInstance():Fire(SealModel.OPEN_SEAL_STREN_VIEW, self.goods_vo.subtype) elseif target == self.wearBtn then SealModel:getInstance():Fire(SealModel.REQUSET_PROTOCALS, 15501, self.goods_vo.goods_id) elseif target == self.washBtn then --[[if self.dynamic then if #self.dynamic.equip_extra_attr > 0 then EquipModel:getInstance():Fire(EquipModel.OPEN_EQUIP_WASH_VIEW, self.dynamic) else local function ok_callback() GlobalEventSystem:Fire(EventName.OPEN_SEll_VIEW, self.goods_vo) end local str = Trim(self.goods_vo.goods_name) .. "装备已经没有附加属性,\n您可以出售它来换取金币" Alert.show(str, Alert.Type.Two, ok_callback, nil,"出售", "取消") end end--]] elseif target == self.insertBtn then --GlobalEventSystem:Fire(EventName.OPEN_EQUIP_VIEW, self.goods_vo.cell) elseif target == self.offBtn then SealModel:getInstance():Fire(SealModel.REQUSET_PROTOCALS, 15502, self.goods_vo.goods_id) elseif target == self.decomposeBtn then local list = {} list[self.goods_vo.goods_id] = self.goods_vo.goods_num GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15019, list) --BagModel:getInstance():Fire(BagModel.OPEN_EQUIP_DECOMPOSE_VIEW, self.goods_vo) elseif target == self.sellBtn then if ItemUseModel:getInstance():IsEquipSpecialType(self.goods_vo.type_id) then local function ok_callback() GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT,15021,1,self.goods_vo.goods_id,1,self.goods_vo.type_id) end local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id) local str = "您正在出售%s\n可获得%s%s" local price = GoodsModel:getInstance():GetSellPriceByTypeId(self.goods_vo.type_id) str = string.format(str, ColorUtil:GetColor(basic.color), basic.goods_name, WordManager:GetCommonMoneyStr(basic.sell_price_type), price) Alert.show(str, Alert.Type.Two, ok_callback, nil,"确定", "取消") else GlobalEventSystem:Fire(EventName.OPEN_SEll_VIEW, self.goods_vo) end elseif target == self.storeBtn then --GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT,15003,self.goods_vo.goods_id,GoodsModel.GOODS_POS_TYPE.bag,GoodsModel.GOODS_POS_TYPE.warehouse) elseif target == self.takeBtn then --[[if self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.hunt_store then TreasureHuntModel:getInstance():Fire(TreasureHuntModel.REQUEST_PROTO, 41605, self.goods_vo.goods_id) else GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT,15003,self.goods_vo.goods_id,GoodsModel.GOODS_POS_TYPE.warehouse,GoodsModel.GOODS_POS_TYPE.bag) end--]] elseif target == self.exchangeBtn then --GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT,40103,self.goods_vo.goods_id,self.goods_vo.type_id,1) elseif target == self.destoryBtn then --[[UserMsgAdapter.WriteBegin(40104) UserMsgAdapter.WriteFMT("h", 1) UserMsgAdapter.WriteFMT("l", self.goods_vo.goods_id) UserMsgAdapter.SendToGame()--]] -- GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT,40104,self.goods_vo.goods_id) elseif target == self.donateBtn then --GuildModel:getInstance():Fire(GuildModel.REQUEST_CCMD_EVENT,40102,self.goods_vo.goods_id,1) elseif target == self.renewBtn then GlobalEventSystem:Fire(EventName.OPEN_EXPIRED_VIEW, true, self.goods_vo.goods_id) elseif target == self.shelvesUpBtn then elseif target == self.shelvesDownBtn then --MarketModel:getInstance():Fire(MarketModel.REQUEST_CCMD_EVENT, 15108, self.goods_vo.sell_type, self.goods_vo.id, self.goods_vo.type_id, self.goods_vo.goods_num) elseif target == self.buyBtn then --[[if self.buyNum then MarketModel:getInstance():Fire(MarketModel.REQUEST_CCMD_EVENT, 15111, self.goods_vo.sell_type, self.goods_vo.id, self.goods_vo.player_id, self.goods_vo.type_id, self.buyNum, self.goods_vo.unit_price) end--]] end end self:Close() end AddClickEvent(self.strengthBtn, onClickBtnHandler) AddClickEvent(self.wearBtn, onClickBtnHandler) AddClickEvent(self.offBtn, onClickBtnHandler) AddClickEvent(self.sellBtn, onClickBtnHandler) AddClickEvent(self.washBtn, onClickBtnHandler) AddClickEvent(self.insertBtn, onClickBtnHandler) AddClickEvent(self.decomposeBtn, onClickBtnHandler) AddClickEvent(self.storeBtn, onClickBtnHandler) AddClickEvent(self.takeBtn, onClickBtnHandler) AddClickEvent(self.exchangeBtn, onClickBtnHandler) AddClickEvent(self.destoryBtn, onClickBtnHandler) AddClickEvent(self.donateBtn, onClickBtnHandler) AddClickEvent(self.renewBtn, onClickBtnHandler) AddClickEvent(self.shelvesUpBtn, onClickBtnHandler) AddClickEvent(self.shelvesDownBtn, onClickBtnHandler) AddClickEvent(self.buyBtn, onClickBtnHandler) local onChangeCountHandler = function (count) self:ChangeBuyNum(count) end self.change_count_id = self.addNumComponent:Bind(ComponentEvent.AddNumberComponent.CHANGE_COUNT,onChangeCountHandler) end function SealToolTips:SetData() if self.goods_vo == nil then return end if self.is_loaded then self.show_compare_tips, self.have_equip_data = SealModel:getInstance():ShowCompareTips(self.goods_vo.goods_id, self.goods_vo.subtype) print("是否需要显示对比装备tips====:", self.show_compare_tips) if self.show_compare_tips then self.compare_conta.gameObject:SetActive(true) self.compareTips = self.compareTips or SealCompareTips.New(self.compare_conta) self.compareTips:SetData(self.have_equip_data) else self.compare_conta.gameObject:SetActive(false) end local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id) local color_str = ColorUtil.WHITE if self.goods_vo.level > RoleManager.Instance.mainRoleInfo.level then color_str = ColorUtil.RED end self.level.text = "" .. self.goods_vo.level .. "" -- local index = Config.ConfigEquipShow[self.goods_vo.subtype].index self.equip_pos.text = Trim(Config.Holysealpos[self.goods_vo.subtype].name) self.fight.text = self.goods_vo.combat_power or 0 color_str = (self.goods_vo.career_id == 0 or RoleManager.Instance.mainRoleInfo.career == self.goods_vo.career_id) and ColorUtil.WHITE or ColorUtil.RED local career_name = WordManager:GetRoleCareerName(basic.career_id,basic.turn) self.career.text = "" .. career_name .. "" self.depot_conta.gameObject:SetActive(false) if self.goods_vo.goods_id then local callback = function (dynamic) if self.goods_vo.goods_id and dynamic and self.goods_vo.goods_id == dynamic.goods_id then self.dynamic = dynamic self.dynamic.stren = dynamic.stren or 0 local stren = "" if dynamic.stren and dynamic.stren > 0 then stren = "+" ..dynamic.stren end self.nameText.text = "" .. self.goods_vo.goods_name .. stren .. "" local step = Config.Holysealgoods[self.goods_vo.type_id] and Config.Holysealgoods[self.goods_vo.type_id].stage or 0 self.step_num.text = "" .. step .. "阶" self.icon_item:SetData(self.goods_vo) self.composite_score.text = self.dynamic.overall_rating self.equip_score.text = self.dynamic.rating if basic then local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist) self:SetProperty(base_pro, dynamic.stren, basic.subtype) self.fight.text = dynamic.combat_power or 0 end self:SetAddProperty(self.dynamic) self:SetSpecialProperty(self.goods_vo) self:SetSuitProperty(self.dynamic) self:Refresh() --self:ShowReDot() end end GoodsModel:getInstance():GetDynamic(self.goods_vo.goods_id, callback) elseif self.goods_vo.equip_extra_attr then local stren = "" self.nameText.text = "" .. self.goods_vo.goods_name .. stren .. "" local step = Config.Holysealgoods[self.goods_vo.type_id] and Config.Holysealgoods[self.goods_vo.type_id].stage or 0 self.step_num.text = "" .. step .. "阶" self.icon_item:SetData(self.goods_vo) self.composite_score.text = self.goods_vo.overall_rating self.equip_score.text = self.goods_vo.rating if basic then local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist) self:SetProperty(base_pro, 0, basic.subtype) -- self.fight.text = dynamic.combat_power or 0 end self:SetAddProperty(self.goods_vo) self:SetSpecialProperty(self.goods_vo) --self.limitText.text = string.format("最大购买数量:%d", self.goods_vo.goods_num) --self.addNumComponent:InitData(1, self.goods_vo.goods_num, 1, 1) --self:ChangeBuyNum(1) end --self:SetSellState(self.goods_vo.sell, self.goods_vo.sell_price_type, self.goods_vo.type_id) self:Refresh() else self.need_refresh = true end end --设置基础属性 function SealToolTips:SetProperty(base_pro, stren, pos) stren = stren or 0 local stren_config = SealModel:getInstance():GetStrengthConfig(pos, stren) local name_str = "" local pro_str = "" local stren_str = "" local pro_list = {} if stren_config and Trim(stren_config.attr_list) ~= "[]" then pro_list = ErlangParser:GetInstance():Parse(stren_config.attr_list) end for i,v in ipairs(base_pro) do name_str = name_str .. WordManager:GetProperties(tonumber(v[1])) pro_str = pro_str.."+" .. WordManager:GetPropertyValue(tonumber(v[1]),tonumber(v[2])) for i2, v2 in ipairs(pro_list) do if tonumber(v2[1]) == tonumber(v[1]) then stren_str = stren_str .. "(强化+" .. v2[2] .. ")" end end if i < #base_pro then name_str = name_str.."\n" pro_str = pro_str.."\n" stren_str = stren_str.."\n" end end self.baseName.text = name_str self.basePro.text = pro_str self.strengthAdd.text = stren_str end --设置附加属性 function SealToolTips:SetAddProperty(dynamic) if dynamic and dynamic.equip_extra_attr then local name_str = "" local pro_str = "" local recommand = "" if self.type and self.type == EquipShowTips.EQUIP_RECOMMAND_TARGET then recommand = "[推荐]" end if #dynamic.equip_extra_attr == 0 then self.addName.text = "无" self.addPro.text = "" else for i,v in ipairs(dynamic.equip_extra_attr) do if v.type_id == 1 then name_str = name_str .. ""..recommand.."每"..v.plus_interval.."级"..WordManager:GetProperties(tonumber(v.attr_id)).."" pro_str = pro_str .."+"..WordManager:GetPropertyValue(tonumber(v.attr_id), tonumber(v.plus_unit)) .. "" else name_str = name_str .. "" ..recommand..WordManager:GetProperties(tonumber(v.attr_id)).."" pro_str = pro_str .. "+"..WordManager:GetPropertyValue(tonumber(v.attr_id), v.attr_val).."" end if i < #dynamic.equip_extra_attr then name_str = name_str .. "\n" pro_str = pro_str .. "\n" end end self.addName.text = name_str self.addPro.text = pro_str end end end --设置特殊属性 function SealToolTips:SetSpecialProperty(goodsVo) self.wash_name.text = "特殊属性" if goodsVo then if Config.Holysealgoods[goodsVo.type_id] then local name_str = "" local pro_str = "" local attr = ErlangParser:GetInstance():Parse(Config.Holysealgoods[goodsVo.type_id].special_attr) for i,v in ipairs(attr) do name_str = name_str .. WordManager:GetProperties(tonumber(v[1])) pro_str = pro_str .. "+" .. WordManager:GetPropertyValue(tonumber(v[1]), tonumber(v[2])) if i < #attr then name_str = name_str .. "\n" pro_str = pro_str .. "\n" end end self.washName.text = name_str self.washPro.text = pro_str end end end --设置分解 function SealToolTips:SetDecompose(goodsVo) self.stone_name.text = "分解获得" local cfg = Config.Goodsdecompose[goodsVo.type_id] if cfg then local list = ErlangParser:GetInstance():Parse(cfg.regular_mat) for i, v in ipairs(list) do local item = self.seal_item_list[i] if item == nil then item = SealToolDecomItem.New(self.stone_conta) self.seal_item_list[i] = item end item:SetData(v) end return 25 * #list end return 25 end --设置套装属性 function SealToolTips:SetSuitProperty(dynamic, subtype, isOther) local suit_id = Config.Holysealgoods[dynamic.type_id] and Config.Holysealgoods[dynamic.type_id].suit_id local suit_num if self.show_compare_tips then suit_num = 0 elseif isOther then suit_num = dynamic.suit_count else suit_num = SealModel:getInstance():GetSuitNum(suit_id) or 0 end local config = Config.Holysealsuit[suit_id] if config then self.suit_name.text = Trim(config.name).."("..suit_num.."/"..config.max_count..")" local attr = ErlangParser:GetInstance():Parse(config.attr_list) if attr and #attr > 0 then local num_str = "" local name_str = "" local pro_str = "" for i, v in ipairs(attr) do local color if suit_num >= tonumber(v[1]) then color = ColorUtil.GREEN else color = ColorUtil.GRAY end num_str = num_str.."【"..v[1].."件】" for i2, v2 in ipairs(v[3]) do name_str = name_str ..""..WordManager:GetProperties(tonumber(v2[1])).."" pro_str = pro_str .."+"..WordManager:GetPropertyValue(tonumber(v2[1]), tonumber(v2[2])).."" if i < #attr or i2 < #v[3] then num_str = num_str.."\n" name_str = name_str.."\n" pro_str = pro_str.."\n" end end end self.suitNum.text = num_str self.suitName.text = name_str self.suitPro.text = pro_str end end end --刷新相关控件的位置 function SealToolTips:Refresh() if self.goods_vo and self.goods_vo.goods_id then local is_bag = self.model.seal_goods_dic[self.goods_vo.goods_id] and true or false self:RefreshPosAndSize(self.dynamic) self:SetRootPos() self:SetBtns(is_bag) elseif self.goods_vo and self.goods_vo.equip_extra_attr then self:RefreshPosAndSize(self.goods_vo) self:SetRootPos() self:SetBtns(false) end end --更新各个控件的位置 function SealToolTips:RefreshPosAndSize(dynamic) local off_y = 0 off_y = self.basePro.preferredHeight + 15 self.baseName.transform.sizeDelta = Vector2(self.baseName.transform.sizeDelta.x, off_y) self.basePro.transform.sizeDelta = Vector2(self.basePro.transform.sizeDelta.x, off_y) self.strengthAdd.transform.sizeDelta = Vector2(self.strengthAdd.transform.sizeDelta.x, off_y) off_y = off_y + 30 local show_add = false if dynamic then show_add = true end if show_add then self.line2.gameObject:SetActive(true) self.addName.gameObject:SetActive(true) self.addPro.gameObject:SetActive(true) self.line2.localPosition = Vector3(0, -off_y, 0) off_y = off_y + 30 self.addName.transform.localPosition = Vector2(self.addName.transform.localPosition.x, -off_y) self.addPro.transform.localPosition = Vector2(self.addPro.transform.localPosition.x, -off_y) self.addName.transform.sizeDelta = Vector2(self.addName.transform.sizeDelta.x, self.addName.preferredHeight + 15) self.addPro.transform.sizeDelta = Vector2(self.addPro.transform.sizeDelta.x, self.addPro.preferredHeight + 15) off_y = off_y + self.addPro.preferredHeight + 15 else self.line2.gameObject:SetActive(false) self.addName.gameObject:SetActive(false) self.addPro.gameObject:SetActive(false) end local show_wash = false if dynamic and Config.Holysealgoods[dynamic.type_id] then show_wash = true end if show_wash then self.line5.gameObject:SetActive(true) self.washName.gameObject:SetActive(true) self.washPro.gameObject:SetActive(true) self.line5.localPosition = Vector3(0, -off_y, 0) off_y = off_y + 30 self.washName.transform.localPosition = Vector3(self.washName.transform.localPosition.x, -off_y, 0) self.washName.transform.sizeDelta = Vector2(self.washName.transform.sizeDelta.x, self.washName.preferredHeight + 15) self.washPro.transform.localPosition = Vector3(self.washPro.transform.localPosition.x, -off_y, 0) self.washPro.transform.sizeDelta = Vector2(self.washPro.transform.sizeDelta.x, self.washPro.preferredHeight + 15) off_y = off_y + self.washPro.preferredHeight + 15 else self.line5.gameObject:SetActive(false) self.washName.gameObject:SetActive(false) self.washPro.gameObject:SetActive(false) end local show_spirit = false --[[if dynamic and dynamic.cspirit_stage and dynamic.cspirit_lv and dynamic.cspirit_stage > 0 and dynamic.cspirit_lv > 0 then show_spirit = true end--]] if show_spirit then self.line6.gameObject:SetActive(true) self.spiritName.gameObject:SetActive(true) self.spiritPro.gameObject:SetActive(true) self.line6.localPosition = Vector3(0, -off_y, 0) off_y = off_y + 30 self.spiritName.transform.localPosition = Vector3(self.spiritName.transform.localPosition.x, -off_y, 0) self.spiritName.transform.sizeDelta = Vector2(self.spiritName.transform.sizeDelta.x, self.spiritName.preferredHeight + 15) self.spiritPro.transform.localPosition = Vector3(self.spiritPro.transform.localPosition.x, -off_y, 0) self.spiritPro.transform.sizeDelta = Vector2(self.spiritPro.transform.sizeDelta.x, self.spiritPro.preferredHeight + 15) off_y = off_y + self.spiritPro.preferredHeight + 10 else self.line6.gameObject:SetActive(false) self.spiritName.gameObject:SetActive(false) self.spiritPro.gameObject:SetActive(false) end local show_stone = false if dynamic and Config.Goodsdecompose[dynamic.type_id] then show_stone = true end if show_stone then self.line3.localPosition = Vector3(0, -off_y, 0) off_y = off_y + 30 self.line3.gameObject:SetActive(true) self.stone_conta.gameObject:SetActive(true) local height = self:SetDecompose(dynamic) self.stone_conta.sizeDelta = Vector2(self.stone_conta.sizeDelta.x, height) self.stone_conta.localPosition = Vector3(self.stone_conta.localPosition.x, -off_y, 0) off_y = off_y + height + 15 else self.line3.gameObject:SetActive(false) self.stone_conta.gameObject:SetActive(false) end local show_suit = false if dynamic then local suit_id = Config.Holysealgoods[dynamic.type_id] and Config.Holysealgoods[dynamic.type_id].suit_id if suit_id and Config.Holysealsuit[suit_id] then show_suit = true end end if show_suit then self.line4.gameObject:SetActive(true) self.suitNum.gameObject:SetActive(true) self.suitName.gameObject:SetActive(true) self.suitPro.gameObject:SetActive(true) self.line4.localPosition = Vector3(0, -off_y, 0) off_y = off_y + 30 self.suitNum.transform.localPosition = Vector3(self.suitNum.transform.localPosition.x, -off_y, 0) self.suitNum.transform.sizeDelta = Vector2(self.suitNum.transform.sizeDelta.x, self.suitNum.preferredHeight + 15) self.suitName.transform.localPosition = Vector3(self.suitName.transform.localPosition.x, -off_y, 0) self.suitName.transform.sizeDelta = Vector2(self.suitName.transform.sizeDelta.x, self.suitName.preferredHeight + 15) self.suitPro.transform.localPosition = Vector3(self.suitPro.transform.localPosition.x, -off_y, 0) self.suitPro.transform.sizeDelta = Vector2(self.suitPro.transform.sizeDelta.x, self.suitPro.preferredHeight + 15) off_y = off_y + self.suitPro.preferredHeight + 15 else self.line4.gameObject:SetActive(false) self.suitNum.gameObject:SetActive(false) self.suitName.gameObject:SetActive(false) self.suitPro.gameObject:SetActive(false) end self.line7.gameObject:SetActive(false) self.wake_baseName.gameObject:SetActive(false) self.wake_basePro.gameObject:SetActive(false) self.line8.gameObject:SetActive(false) self.wake_strenName.gameObject:SetActive(false) self.wake_strenPro.gameObject:SetActive(false) self.line9.gameObject:SetActive(false) self.wake_suitNum.gameObject:SetActive(false) self.wake_suitName.gameObject:SetActive(false) self.wake_suitPro.gameObject:SetActive(false) self.line10.gameObject:SetActive(false) self.magic_skillName.gameObject:SetActive(false) self.magic_skillLevel.gameObject:SetActive(false) -- if off_y > 451 then -- self.down_arrow.localPosition = Vector3(150, -621.6, 0) -- self.sell_conta.localPosition = Vector3(22, -643.5, 0) -- self.ScrollView.sizeDelta = Vector2(287, 451) self.ScrollViewContent.sizeDelta = Vector2(self.ScrollViewContent.sizeDelta.x, off_y) -- self.ScrollViewViewport.sizeDelta = Vector2(276, 451) -- self.transform.sizeDelta = Vector2(328, 685) -- self.bg.sizeDelta = Vector2(328, 711) -- else -- self.down_arrow.localPosition = Vector3(150, -off_y + self.ScrollView.localPosition.y + 20, 0) -- self.sell_conta.localPosition = Vector3(22, -off_y + self.ScrollView.localPosition.y, 0) -- self.ScrollView.sizeDelta = Vector2(287, off_y) -- self.ScrollViewContent.sizeDelta = Vector2(276, off_y) -- self.ScrollViewViewport.sizeDelta = Vector2(276, off_y) -- self.transform.sizeDelta = Vector2(328, off_y - self.ScrollView.localPosition.y + 60) -- self.bg.sizeDelta = Vector2(328, off_y - self.ScrollView.localPosition.y + 60) -- end if self.ScrollViewContent.sizeDelta.y > 451 then self.down_arrow.gameObject:SetActive(true) else self.down_arrow.gameObject:SetActive(false) end --[[--小天使小恶魔,位置改变 self.expired_label.gameObject:SetActive(false) self.descCon.gameObject:SetActive(false) self.ScrollViewViewport.transform.sizeDelta = Vector2(326, 447) if self.goods_vo.type==10 and self.goods_vo.subtype==11 then local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id) self.bg.sizeDelta = Vector2(335, 507) self.career_conta.transform.anchoredPosition = Vector3(-61, 394, 0) self.ScrollView.transform.anchoredPosition = Vector3(-3.5, -165, 0) self.ScrollViewViewport.transform.sizeDelta = Vector2(326, 136) self.ui_line1.transform.anchoredPosition = Vector3(113, -115, 0) self.ui_line2.transform.anchoredPosition = Vector3(110, -253, 0) self.descCon.transform.anchoredPosition = Vector3(-3.5, -351, 0) self.descCon.gameObject:SetActive(true) self.descLabel.text = Trim(basic.intro) self.getWayLabel.text = Trim(basic.getway) if self.goods_vo.expire_time then if self.goods_vo.expire_time == 0 then self.expired_label.gameObject:SetActive(false) else self.expired_label.gameObject:SetActive(true) local text = "" if TimeUtil:getServerTime() > self.goods_vo.expire_time then text = "已过期" else local time = self.goods_vo.expire_time - TimeUtil:getServerTime() text = string.format("【%s】后过期",TimeUtil:timeConvert6(time)) end self.expired_label:GetComponent("Text").text = text self.expired_label.transform.sizeDelta = Vector2(280, 30) self.expired_label.transform.anchoredPosition = Vector3(114, -96, 0) end end end--]] end --按钮显示 function SealToolTips:SetBtns(is_bag) for i,v in ipairs(self.btn_list) do v:SetActive(false) end local btn_list = {} if is_bag then --背包中的装备 btn_list = {self.wearBtn} if Config.Goodsdecompose[self.goods_vo.type_id] then table.insert(btn_list, self.decomposeBtn) end else --已经穿上的装备 btn_list = {self.strengthBtn, self.offBtn} end local buy_pos_y = 0 if self.show_btn_list then btn_list = self:ShowCustomBtns() if TableContains(self.show_btn_list, "buyCon") then buy_pos_y = 100 end end for i,v in ipairs(btn_list) do v:SetActive(true) local y = (i - 1) * 50 v.transform.localPosition = Vector3(0, -y, 0) end self.btn_conta.sizeDelta = Vector2(self.btn_conta.sizeDelta.x, #btn_list * 53) local pos_y = self.layout.sizeDelta.y - self.btn_conta.sizeDelta.y + 20 --prefab做了自适应处理,固定在底部就行了 if self.goods_vo.type==10 and self.goods_vo.subtype==11 then self.btn_conta.transform.anchoredPosition = Vector3(self.btn_conta.transform.anchoredPosition.x, -401, 0) else self.btn_conta.anchoredPosition = Vector2(self.btn_conta.anchoredPosition.x, -600) end end