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