|
|
- FullTabButton = FullTabButton or BaseClass(BaseItem)
- local FullTabButton = FullTabButton
- function FullTabButton:__init(parent)
- self.base_file = "uiComponent"
- self.layout_file = "FullTabButton"
- self.index = 0
- self.name = ""
- self.tabbar_asset = ""
- self.dark_res = ""
- self.light_res = ""
- self:Load()
- self.is_selected = -1
- self.show_red_dot = -1
- end
-
- function FullTabButton:__delete()
- if self.timer_id then
- TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_id)
- self.timer_id = nil
- end
- if self.tween_id then
- TweenLite.Stop(self.tween_id)
- self.tween_id = nil
- end
- end
-
- function FullTabButton:Load_callback()
- self.select_img = self:GetChild("Select").gameObject
- self.btn_img = self:GetChild("Icon"):GetComponent("Image")
- self.redPoint = self:GetChild("Dot").gameObject
- self.line = self:GetChild("Line").gameObject
-
- self:InitEvent()
-
- if self.need_refreshData then
- self:SetData(self.index,self.tabbar_asset,self.data,self.callback,self.show_anim)
- end
- end
-
- function FullTabButton:SetData(index,tabbar_asset,data,callback,show_anim)
- self.index = index
- self.tabbar_asset = tabbar_asset
- self.data = data
- self.callback = callback
- self.show_anim = show_anim
- self.name = data.name or ""
- self.light_res = data.light_res or ""
- self.dark_res = data.dark_res or ""
-
- if self.is_loaded then
- self.index = index
-
- if self.dark_res ~= "" then
- lua_resM:setImageSprite(self,self.btn_img,self.tabbar_asset,self.dark_res,true)
- end
-
- if self.is_selected ~= -1 then
- self:SetSelect(self.is_selected)
- end
-
- if self.show_red_dot ~= -1 then
- self:ShowRedPoint(self.show_red_dot)
- end
-
- if show_anim then
- self.transform.anchoredPosition = Vector2(-150, (self.index - 1) * -100 - 65)
-
- local function delay_func( ... )
- self.tween_id = TweenLite.to(self, self.transform, TweenLite.UiAnimationType.POSX, 0, 0.2, nil)
- end
- self.timer_id = setTimeout(delay_func, 0.1 * self.index)
- else
- self.transform.anchoredPosition = Vector2(0, (self.index - 1) * -100 - 65)
- end
- else
- self.need_refreshData = true
- end
- end
-
- function FullTabButton:SetSelect(bool)
- bool = bool == nil and -1 or bool
- if self.is_loaded then
- if bool ~= -1 then
- if bool then
- self.line:SetActive(false)
- self.select_img:SetActive(true)
- if self.light_res ~= "" then
- lua_resM:setImageSprite(self,self.btn_img,self.tabbar_asset,self.light_res,true)
- end
- else
- self.line:SetActive(true)
- self.select_img:SetActive(false)
- if self.dark_res ~= "" then
- lua_resM:setImageSprite(self,self.btn_img,self.tabbar_asset,self.dark_res,true)
- end
- end
- self.is_selected = -1
- end
- else
- self.is_selected = bool
- end
- end
-
- function FullTabButton:InitEvent()
- local function onTabBtnHandler(target)
- if self.callback ~= nil then
- self:ClickCall()
- end
- end
-
- AddClickEvent(self.gameObject,onTabBtnHandler,2)
- end
-
- function FullTabButton:ShowRedPoint(bool)
- bool = bool == nil and -1 or bool
- if self.is_loaded then
- if bool ~= -1 then
- self.redPoint:SetActive(bool)
- self.show_red_dot = -1
- end
- else
- self.show_red_dot = bool
- end
- end
-
- function FullTabButton:ClickCall( )
- self.callback(self.index)
- end
-
|