-- <* -- @Author: Saber -- @Description: 圣物装备分解建议tip节点 -- *> PsionicArmorResolveTipItem = PsionicArmorResolveTipItem or BaseClass(BaseItem) local PsionicArmorResolveTipItem = PsionicArmorResolveTipItem function PsionicArmorResolveTipItem:__init(parent_wnd,prefab_asset,layer_name) self.base_file = "psionic" self.layout_file = "PsionicArmorResolveTipItem" self.parent_wnd = parent_wnd self.layer_name = layer_name self.height = 0 self.cur_star_list = {} self.model = PsionicModel:getInstance() self.goods_model = GoodsModel:getInstance() self:Load() end function PsionicArmorResolveTipItem:Load_callback() local nodes = { -- 装备信息 "equip_node:obj", "equip_node/equip_name:tmp", "equip_node/star_con", -- 突破信息 "break_cond_lb:tmp", "line:obj", -- 其他tips "resolve_tip:tmp", } self:GetChildren(nodes) self:AddEvents() if self.need_refreshData then self:UpdateView() end end function PsionicArmorResolveTipItem:AddEvents( ) end function PsionicArmorResolveTipItem:SetData( data ) self.data = data if self.is_loaded then self.need_refreshData = false self:UpdateView() else self.need_refreshData = true end return self.height end function PsionicArmorResolveTipItem:InitItemNodes( ) if self.equip_node_obj.activeSelf then self.equip_node_obj:SetActive(false) end -- 调整节点位置 -- SetAnchoredPositionX(self.equip_node, -5) SetAnchoredPositionX(self.break_cond_lb, 48) SetAnchoredPositionX(self.resolve_tip, 20) self.break_cond_lb_tmp.text = "" self.resolve_tip_tmp.text = "" self.height = 0 end function PsionicArmorResolveTipItem:UpdateView( ) self:InitItemNodes() if self.data.equip_data then -- 装备名称和星数节点 self.equip_node_obj:SetActive(true) local cur_star = 0 if self.data.equip_data.goods_vo then self.equip_name_tmp.text = self.goods_model:getGoodsName(self.data.equip_data.goods_vo.type_id, true) cur_star = self.data.equip_data.goods_vo.star else self.equip_name_tmp.text = string.format("未穿戴%s", PsionicConst.EquipSlotName[self.data.equip_data.slot]) end -- 创建星星 for k, v in ipairs(self.cur_star_list) do v.gameObject:SetActive(false) end for i = 1, cur_star do self.cur_star_list[i] = self.cur_star_list[i] or UiFactory.createChild(self.star_con, UIType.Image2, "star" .. i) SetAnchoredPosition(self.cur_star_list[i].transform, (i-1) * 25 - 20, 0) self.cur_star_list[i].gameObject:SetActive(true) lua_resM:setImageSprite(self, self.cur_star_list[i]:GetComponent("Image"), "psionic_asset", "ps_star_1", true) end self.height = 35 elseif self.data.break_cond then -- 装备突破需求节点 local pos_name = PsionicConst.EquipSlotName[self.data.break_cond.slot] local cost_equip_cfg = self.data.break_cond.break_cfg if cost_equip_cfg then local cost_str = "突破需求 " for k, v in ipairs(cost_equip_cfg) do cost_str = cost_str .. string.format("%sx%s\n ", GoodsModel:getInstance():getGoodsName(v[2], true, true), v[3]) end self.break_cond_lb_tmp.text = cost_str -- self.break_cond_lb_tmp.text = string.format("突破需求 %s%s灵装x%s", -- WordManager.GetGoodsColor(cost_equip_cfg[1]), ColorUtil:getColorName(cost_equip_cfg[1]), -- pos_name, cost_equip_cfg[2]) else self.break_cond_lb_tmp.text = string.format("请先穿戴一件%s装备", pos_name) end self.line_obj:SetActive(self.data.break_cond.show_line) self.height = self.break_cond_lb_tmp.preferredHeight < 35 and 35 or self.break_cond_lb_tmp.preferredHeight elseif self.data.tip_str then -- 其他提示 self.resolve_tip_tmp.text = self.data.tip_str self.height = self.resolve_tip_tmp.preferredHeight + 17 end end function PsionicArmorResolveTipItem:__delete( ) end