源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

152 行
5.3 KiB

--子一级的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