|
|
- PsionicAdvanceBreakTabItem = PsionicAdvanceBreakTabItem or BaseClass(BaseItem)
- local PsionicAdvanceBreakTabItem = PsionicAdvanceBreakTabItem
-
- function PsionicAdvanceBreakTabItem:__init(parent_wnd,prefab_asset,layer_name)
- self.base_file = "psionic"
- self.layout_file = "PsionicAdvanceBreakTabItem"
- self.parent_wnd = parent_wnd
- self.layer_name = layer_name
-
- self.model = PsionicModel:getInstance()
- self.tab_icon_data = {
- [1] = {content = "全部", },
- [2] = {content = "圣书", },
- [3] = {content = "圣球", },
- [4] = {content = "圣杯", },
- [5] = {content = "圣冠", },
- }
- self.is_selected = false
- self:Load()
- end
-
- function PsionicAdvanceBreakTabItem:Load_callback()
- local nodes = {
- "selected:obj",
- "bg/tab_red:obj",
- "bg:obj:img", "bg/tab_name:tmp", "bg/tab_icon:img",
- }
- self:GetChildren(nodes)
-
-
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function PsionicAdvanceBreakTabItem:AddEvents( )
- local function click_event(target)
- if target == self.bg_obj then
- if self.click_callback then
- self.click_callback(self.index)
- end
- end
- end
- AddClickEvent(self.bg_obj, click_event)
-
- local function update_break_tab_red(tab_id)
- if not tab_id or tab_id == PsionicConst.TabId.PBreak then
- self:UpdateBreakTabRed()
- end
- end
- self:BindEvent(self.model, PsionicConst.UPDATE_RED_BY_TABID, update_break_tab_red)
- end
-
- -- index:这里需要特殊处理
- function PsionicAdvanceBreakTabItem:SetData(index, click_callback)
- self.index = index
- self.click_callback = click_callback
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function PsionicAdvanceBreakTabItem:UpdateView( )
- -- 按钮底图
- -- lua_resM:setImageSprite(self, self.bg_img, "psionic_asset", self.index == 1 and "ps_break_tab_bg1" or "ps_break_tab_bg2")
- -- 按钮图标
- lua_resM:setImageSprite(self, self.tab_icon_img, "psionic_asset", "ps_break_tab_icon" .. (self.index - 1), true)
- self.tab_name_tmp.text = self.tab_icon_data[self.index].content
- self:SetSelected(self.is_selected)
- self:UpdateBreakTabRed()
- end
-
- -- 更新页签红点
- function PsionicAdvanceBreakTabItem:UpdateBreakTabRed( )
- if self.index > 1 then -- 第一个tab没有红点
- local bool = self.model:GetPsionicBreakSlotRed(self.index + 2) -- 此处需要+2映射
- self.tab_red_obj:SetActive(bool)
- else
- self.tab_red_obj:SetActive(false)
- end
- end
-
- function PsionicAdvanceBreakTabItem:SetSelected(bool)
- self.is_selected = bool
- if self.is_loaded then
- lua_resM:setImageSprite(self, self.bg_img, "psionic_asset", self.is_selected and "ps_break_tab_bg1" or "ps_break_tab_bg2", true)
- -- self.selected_obj:SetActive(self.is_selected)
- end
- end
-
- function PsionicAdvanceBreakTabItem:__delete( )
-
- end
|