-- <*
|
|
-- @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("突破需求 <color=%s>%s%s灵装x%s</color>",
|
|
-- 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
|