|
|
- --子一级的tabbar按钮(单个按钮)
- UIVerTabSubBtn = UIVerTabSubBtn or BaseClass(BaseComponent)
- local UIVerTabSubBtn = UIVerTabSubBtn
- UIVerTabSubBtn.Height = 49
-
- function UIVerTabSubBtn:__init(parent, call_back, desc)
- self.sub_index = 1
- self.parent_idnex = 1
- self.call_back = nil
- self:CreateGameObject(UIType.UIVerTabSubBtn)
- self:InitData(call_back, desc)
- end
-
- function UIVerTabSubBtn:InitData(call_back, text)
- self.call_back = call_back
- self.btnText.text = text
- end
-
- function UIVerTabSubBtn:LoadSuccess()
- self.btnText = self:GetChild("Button/Text"):GetComponent("TextMeshProUGUI")
- self.selectBg = self:GetChild("Button/selectBg").gameObject
- self.selectBg_con = self:GetChild("Button/selectBg")
- self.Button_con = self:GetChild("Button")
- self.Button = self:GetChild("Button").gameObject
- self.img = self:GetChild("Button/img"):GetComponent("Image")
- self.img.gameObject:SetActive(false)
- self.button_image = self:GetChild("Button"):GetComponent("Image")
- self.dot = self:GetChild("Button/dot").gameObject
- self.des_effect = self:GetChild("Button/effect")
- self.des_img = self:GetChild("Button/image_source")
- self.des_txt = self:GetChild("Button/Text")
- self.line = self:GetChild("Button/line").gameObject
- self.des_effect.gameObject:SetActive(false)
- self.des_img.gameObject:SetActive(false)
- self.line:SetActive(true)
-
- self:InitEvent()
- end
-
- function UIVerTabSubBtn:InitEvent()
-
- end
-
- function UIVerTabSubBtn:SetSubDeail(text, parent_idnex, sub_index, call_back)
- self.parent_idnex = parent_idnex
- self.sub_index = sub_index
- self.call_back = call_back
- self:SetText(text)
- end
-
- function UIVerTabSubBtn:SetText(str)
- self.btnText.text = str
- end
-
- function UIVerTabSubBtn:ResetSubDeail(data)
- self.data = data
- self.scale = 1
- if self.data == nil then return end
- if self.data.type == 1 then --特效显示
- self.des_txt.gameObject:SetActive(false)
- self.des_effect.gameObject:SetActive(true)
- self.des_img.gameObject:SetActive(false)
- self:AddUIEffect("effect_designation_" .. self.data.id, self.des_effect.transform, "Activity", nil, scale, true)
- elseif self.data.type == 2 then --文字显示
- self.des_effect.gameObject:SetActive(false)
- self.des_txt.gameObject:SetActive(true)
- self.des_img.gameObject:SetActive(false)
- self.des_txt:GetComponent("Outline").effectColor = ColorUtil:GetGoodsColor(self.data.color)
- self.des_txt:GetComponent("Text").text = "<color=#A7BEDE>".. self.data.name .."</color>"
- SetLocalScale(self.des_txt.transform, scale)
- elseif self.data.type == 3 then -- 图片显示
- self.des_effect.gameObject:SetActive(false)
- self.des_txt.gameObject:SetActive(false)
- local call_back = function ( )
- self.des_img.gameObject:SetActive(true)
- end
- lua_resM:setOutsideImageSprite(self,self.des_img:GetComponent("ImageExtend"),GameResPath.GetDesignImage(self.data.goods_id),true,call_back)
- self.des_img:GetComponent("ImageExtend").gray = false
- if not DesignationModel:getInstance():GetDesignationByID(self.data.id) then
- self.des_img:GetComponent("ImageExtend").gray = true
- end
- SetLocalScale(self.des_img.transform, scale)
- elseif self.data.type == 4 then -- 特殊显示
- self.des_effect.gameObject:SetActive(false)
- self.des_txt.gameObject:SetActive(false)
- local call_back = function ( )
- self.des_img.gameObject:SetActive(true)
- end
- lua_resM:setOutsideImageSprite(self,self.des_img:GetComponent("ImageExtend"),GameResPath.GetDesignImage(self.data.goods_id),true,call_back)
- self.des_img:GetComponent("ImageExtend").gray = false
- if not DesignationModel:getInstance():GetDesignationByID(self.data.id) then
- self.des_img:GetComponent("ImageExtend").gray = true
- end
- SetLocalScale(self.des_img.transform, scale)
- end
- end
-
- function UIVerTabSubBtn:SetSelected(bool)
- if self.btnText then
- local normal_color = self.style_data and self.style_data.sub_btn_text_color_nor or Color(167/255,190/255,222/255,1)
- local select_color = self.style_data and self.style_data.sub_btn_text_color_sel or ColorUtil:ConvertHexToRGBColor( ColorUtil.WHITE_DARK )
- self.btnText.color = (not bool) and normal_color or select_color
- end
-
- if self.selectBg then
- self.selectBg:SetActive(bool)
- end
- if bool and self.parent_idnex and self.sub_index then
- if self.call_back then
- self.call_back(self.parent_idnex, self.sub_index)
- end
- end
- end
-
- --设置大小
- function UIVerTabSubBtn:SetTabSubBtnSize(data)
- self.Button_con.sizeDelta = Vector2(data.SUB_CON_WIDTH,data.SUB_CON_HEIGHT)
- self.selectBg_con.sizeDelta = Vector2(data.SUB_CON_WIDTH,data.SUB_CON_HEIGHT)
- end
-
- function UIVerTabSubBtn:SetStyleData( style_data )
- self.style_data = style_data
- self:SetTabSubBtnSize(style_data)
- end
-
- function UIVerTabSubBtn:SetSelectState(b)
- if self.selectBg then
- self.selectBg:SetActive(b)
- self.line:SetActive(not b)
- end
- end
-
- function UIVerTabSubBtn:SetImageTexture(asset_path,res_name)
- if asset_path and res_name then
- self.img.gameObject:SetActive(true)
- lua_resM:setImageSprite(self,self.img,asset_path,res_name)
- else
- self.img.gameObject:SetActive(false)
- end
- end
-
- function UIVerTabSubBtn:ShowRedDot(bool)
- if self.dot then
- self.dot:SetActive(bool)
- end
- end
-
- function UIVerTabSubBtn:SetNewSource(data)
- self:SetTabSubBtnSize(data)
- lua_resM:setImageSprite(self,self.button_image,data.subabname,data.sub_normal)
- lua_resM:setImageSprite(self,self.selectBg:GetComponent("Image"),data.subabname,data.sub_select)
- end
|