-- <*
|
|
-- @Author: Saber
|
|
-- @Description: 转职系统 转职属性提升和解锁内容信息节点
|
|
-- *>
|
|
ReinTaskDataItem = ReinTaskDataItem or BaseClass(BaseItem)
|
|
local ReinTaskDataItem = ReinTaskDataItem
|
|
|
|
function ReinTaskDataItem:__init(parent_wnd,prefab_asset,layer_name)
|
|
self.base_file = "reincarnation"
|
|
self.layout_file = "ReinTaskDataItem"
|
|
self.parent_wnd = parent_wnd
|
|
self.layer_name = layer_name
|
|
|
|
self.model = ReincarnationModel:getInstance()
|
|
self.height = 0
|
|
self.skill_item = {}
|
|
self.unlock_item = {}
|
|
self:Load()
|
|
end
|
|
|
|
function ReinTaskDataItem:Load_callback()
|
|
local nodes = {
|
|
-- 标题
|
|
"title:obj", "title/title_lb:tmp",
|
|
-- 属性容器
|
|
"attr_con:obj",
|
|
"attr_con/attr_name1:tmp",
|
|
"attr_con/attr_name2:tmp",
|
|
"attr_con/attr_val1:tmp",
|
|
"attr_con/attr_val2:tmp",
|
|
-- 解锁容器
|
|
"skill_con:obj", "unlock_con:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function ReinTaskDataItem:AddEvents( )
|
|
|
|
end
|
|
|
|
function ReinTaskDataItem: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 ReinTaskDataItem:InitNodes( )
|
|
if self.title_obj.activeSelf then
|
|
self.title_obj:SetActive(false)
|
|
end
|
|
if self.attr_con_obj.activeSelf then
|
|
self.attr_con_obj:SetActive(false)
|
|
end
|
|
if self.skill_con_obj.activeSelf then
|
|
self.skill_con_obj:SetActive(false)
|
|
for k, v in pairs(self.skill_item) do
|
|
v:SetVisible(false)
|
|
end
|
|
end
|
|
if self.unlock_con_obj.activeSelf then
|
|
self.unlock_con_obj:SetActive(false)
|
|
for k, v in pairs(self.unlock_item) do
|
|
v:SetVisible(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function ReinTaskDataItem:UpdateView( )
|
|
self:InitNodes()
|
|
if self.data then
|
|
if self.data.title then -- 标题
|
|
self.title_obj:SetActive(true)
|
|
self.title_lb_tmp.text = self.data.title
|
|
self.height = 36
|
|
elseif self.data.attr1 then -- 存在属性词条
|
|
self.attr_con_obj:SetActive(true)
|
|
self.attr_name1_tmp.text = WordManager:GetProperties(self.data.attr1[1])
|
|
self.attr_val1_tmp.text = "+"..WordManager:GetPropertyValue(self.data.attr1[1], self.data.attr1[2])
|
|
if self.data.attr2 then
|
|
self.attr_name2_tmp.text = WordManager:GetProperties(self.data.attr2[1])
|
|
self.attr_val2_tmp.text = "+"..WordManager:GetPropertyValue(self.data.attr2[1], self.data.attr2[2])
|
|
end
|
|
self.height = self.data.is_last and 47 or 28
|
|
elseif self.data.skill_data then -- 技能展示
|
|
self.skill_con_obj:SetActive(true)
|
|
local item_num = #self.data.skill_data
|
|
item_num = item_num > 4 and 4 or item_num
|
|
local offset_x = (368 - 80 * item_num) * 0.5
|
|
for k, v in ipairs(self.data.skill_data) do
|
|
if k > item_num then break end
|
|
self.skill_item[k] = self.skill_item[k] or ReinTaskSkillItem.New(self.skill_con)
|
|
self.skill_item[k]:SetAnchoredPosition((k - 1) * 80 + offset_x, 0)
|
|
self.skill_item[k]:SetVisible(true)
|
|
self.skill_item[k]:SetData(v.skill_data)
|
|
end
|
|
self.height = 92
|
|
elseif self.data.equip_data then -- 装备代数
|
|
self.unlock_con_obj:SetActive(true)
|
|
local item_num = #self.data.equip_data
|
|
item_num = item_num > 4 and 4 or item_num
|
|
local offset_x = (368 - 74 * item_num) * 0.5
|
|
for k, v in ipairs(self.data.equip_data) do
|
|
if k > item_num then break end
|
|
self.unlock_item[k] = self.unlock_item[k] or UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.unlock_con)
|
|
self.unlock_item[k]:SetAnchoredPosition((k - 1) * 74 + offset_x, 0)
|
|
self.unlock_item[k]:SetItemSize(62, 62)
|
|
self.unlock_item[k]:SetVisible(true)
|
|
self.unlock_item[k]:SetData(v.equip_data)
|
|
end
|
|
self.height = 80
|
|
end
|
|
end
|
|
end
|
|
|
|
function ReinTaskDataItem:__delete( )
|
|
for k, v in pairs(self.skill_item) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.skill_item = {}
|
|
|
|
for k, v in pairs(self.unlock_item) do
|
|
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
|
|
end
|
|
self.unlock_item = {}
|
|
end
|