源战役客户端
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

120 Zeilen
4.2 KiB

-- <*
-- @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