源战役客户端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

110 righe
3.0 KiB

--子一级的tabbar按钮(单个按钮)
UIHorTabBtn = UIHorTabBtn or BaseClass(BaseComponent)
UIHorTabBtn.Height = 50
function UIHorTabBtn:__init(parent, call_back)
self.parent = parent
self.call_back = call_back
self.index = 0
self.cur_layout = lua_viewM.cur_layout or "" --公共组件,要判断是否对应界面
self:CreateGameObject(UIType.UIHorTabBtn)
end
function UIHorTabBtn:LoadSuccess()
self.is_loaded = true
self.back_img = self:GetChild("Background"):GetComponent("Image")
self.label = self:GetChild("Label"):GetComponent("TMP_Text")
-- self.toggle = self.gameObject:GetComponent("Toggle")
self.redDot = self:GetChild("redDot").gameObject
self.checkMark = self:GetChild("Background/Checkmark"):GetComponent("Image")
self.CheckmarkObj = self:GetChild("Background/Checkmark").gameObject
self.lock_obj = self:GetChild("lock").gameObject
self.redDot:SetActive(false)
if self.need_reselect then
self:SetSelected(self.is_select)
end
self:SetLabelColor()
self:InitEvent()
end
function UIHorTabBtn:SetBtnRes( asset, res1, res2 )
lua_resM:setImageSprite(self, self.back_img, asset, res1)
lua_resM:setImageSprite(self, self.checkMark, asset, res2)
end
function UIHorTabBtn:InitEvent()
local function onClickBtnHandler(target)
if self.data and self.data.open_lv then
local str = string.format("%s级后开放", self.data.open_lv)
Message.show(str)
return
end
self:Call()
end
AddClickEvent(self.gameObject, onClickBtnHandler, 2)
end
function UIHorTabBtn:SetText( index, str )
self.index = index
local show_lock = false
if type(str) == "table" then
self.label.text = str.text
self.data = str
show_lock = str.show_lock and true or false
else
self.label.text = str
end
self.lock_obj:SetActive(show_lock)
SetAnchoredPositionX( self.label.transform, show_lock and 8 or -1.5)
end
function UIHorTabBtn:ShowRedDot( bool )
self.redDot:SetActive(bool)
end
function UIHorTabBtn:SetSelected( bool )
self.is_select = bool
if self.is_loaded then
self:SetLabelColor()
self.need_reselect = false
else
self.need_reselect = true
end
end
function UIHorTabBtn:SetVisible( bool )
self.gameObject:SetActive(bool)
end
function UIHorTabBtn:GetVisible( )
return self.gameObject.activeSelf
end
function UIHorTabBtn:SetBtnLabelColor(color1,color2)
self.color1 = color1
self.color2 = color2
self:SetLabelColor()
end
function UIHorTabBtn:SetLabelColor()
self.CheckmarkObj:SetActive(self.is_select)
self.label.color = self.is_select and (self.color2 or ColorUtil:ConvertHexToRGBColor("#ffffff")) or (self.color1 or ColorUtil:ConvertHexToRGBColor("#9eb3cf"))
SetTMPSharedMaterial(self.label,self.is_select and ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab or ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
end
function UIHorTabBtn:Call( )
if self.call_back and not self.is_select then
self.call_back(self.index)
end
self:SetLabelColor()
end
function UIHorTabBtn:SetCanClick(state)
self.back_img.raycastTarget = state
end
function UIHorTabBtn:__delete( )
end