|
|
FullWindowComponent = FullWindowComponent or BaseClass(BaseComponent)
|
|
local FullWindowComponent = FullWindowComponent
|
|
--title 窗口名字
|
|
--tabbar_list 标签名字数组
|
|
--tabbar_asset 图片的预设资源
|
|
--select_callback 选择的回调函数
|
|
--close_win_callback 关闭窗口的回调函数
|
|
--background_wnd 窗口的background_wnd属性
|
|
--show_anim 标签按钮是否移动显示
|
|
--hide_coin_add 是否隐藏金币栏
|
|
|
|
--ShowRoleLevelItem方法 显示人物等级
|
|
--HideCoinAddByType方法 是否隐藏某种金币类型
|
|
|
|
function FullWindowComponent:__init(parent,title,tabbar_asset,tabbar_list,select_callback,close_win_callback,background_wnd,show_anim,hide_coin_add)
|
|
self:InitData(title,tabbar_asset,tabbar_list,select_callback,close_win_callback,background_wnd,show_anim,hide_coin_add)
|
|
self:CreateGameObject(UIType.FullWindowComponent)
|
|
end
|
|
|
|
function FullWindowComponent:InitData(title,tabbar_asset,tabbar_list,select_callback,close_win_callback,background_wnd,show_anim,hide_coin_add)
|
|
self.curr_tabBtn_index = 0
|
|
self.tabbar_item_list = {}
|
|
self.tabbar_prefab = nil
|
|
|
|
self.title = title
|
|
self.tabbar_asset = tabbar_asset
|
|
self.tabbar_list = tabbar_list or {}
|
|
|
|
self.select_callback = select_callback
|
|
self.close_win_callback = close_win_callback
|
|
self.background_wnd = background_wnd
|
|
self.show_anim = show_anim
|
|
self.hide_coin_add = hide_coin_add
|
|
end
|
|
|
|
--根据类型隐藏金币/红钻/彩钻
|
|
function FullWindowComponent:ShowRoleLevelItem(level,turn,need_lv,alignment_type,add_str,font_color,font_size,front_str)
|
|
if self.RoleLevelItem == nil then
|
|
self.RoleLevelItem = RoleLevelItem.New(self.transform)
|
|
self.RoleLevelItem:SetOrignPos(co.TableXY(-275, 334))
|
|
end
|
|
|
|
self.RoleLevelItem:SetData(level,turn,need_lv,alignment_type,add_str,font_color,font_size,front_str)
|
|
end
|
|
|
|
|
|
--根据类型隐藏金币/红钻/彩钻
|
|
function FullWindowComponent:HideCoinAddByType( type, bool )
|
|
if self.coinAddBar then
|
|
self.coinAddBar:ShowByType(type, bool)
|
|
end
|
|
end
|
|
|
|
function FullWindowComponent:LoadSuccess()
|
|
|
|
self.win_transform = self.GetChild("Window")
|
|
self.win_title = self:GetChild("Window/windowTitleCon/windowTitleText"):GetComponent("Text")
|
|
self.subtitle = self:GetChild("Window/subtitle"):GetComponent("Text")
|
|
self.win_close_btn = self:GetChild("Window/windowCloseBtn").gameObject
|
|
|
|
self.mScroll = self:GetChild("ScrollView")
|
|
self.mContent = self:GetChild("ScrollView/Viewport/Content")
|
|
self.cdn_image = self:GetChild("Window"):GetComponent("Image")
|
|
|
|
if not self.hide_coin_add then
|
|
self.coinAddBar = CoinAddBar.New(self.transform)
|
|
self.coinAddBar_transform = self.coinAddBar.transform
|
|
end
|
|
|
|
lua_resM:setOutsideImageSprite(self, self.cdn_image, GameResPath.GetJpgImage("bag_bg.jpg"), false)
|
|
|
|
self:InitEvent()
|
|
self:LayoutUI()
|
|
self:LoadTabbarPrefab()
|
|
end
|
|
|
|
--在父窗口调用
|
|
function FullWindowComponent:__delete()
|
|
|
|
self.tabbar_prefab = nil
|
|
self.curr_tabBtn_index = 0
|
|
|
|
for i,item in pairs(self.tabbar_item_list) do
|
|
item:DeleteMe()
|
|
end
|
|
self.tabbar_item_list = {}
|
|
|
|
if self.coinAddBar then
|
|
self.coinAddBar:DeleteMe()
|
|
self.coinAddBar = nil
|
|
end
|
|
|
|
if self.RoleLevelItem then
|
|
self.RoleLevelItem:DeleteMe()
|
|
self.RoleLevelItem = nil
|
|
end
|
|
end
|
|
|
|
function FullWindowComponent:SetTitle( name )
|
|
self.title = name
|
|
self.win_title.text = self.title
|
|
end
|
|
|
|
function FullWindowComponent:SetSubtitle(name)
|
|
self.subtitle.text = name
|
|
end
|
|
|
|
function FullWindowComponent:LayoutUI()
|
|
|
|
self.win_title.text = self.title
|
|
|
|
if self.coinAddBar then
|
|
self.coinAddBar:SetImageBg(false)
|
|
self.coinAddBar_transform.anchoredPosition = Vector3(202,334)
|
|
end
|
|
|
|
if self.background_wnd then
|
|
local index = self.background_wnd.transform:GetSiblingIndex()
|
|
self.transform:SetSiblingIndex(index + 1)
|
|
else
|
|
self.transform:SetAsFirstSibling()
|
|
end
|
|
end
|
|
|
|
function FullWindowComponent:LoadTabbarPrefab()
|
|
local name = nil
|
|
local item = nil
|
|
|
|
local len = #self.tabbar_list
|
|
|
|
for index,vo in ipairs(self.tabbar_list) do
|
|
item = self.tabbar_item_list[index]
|
|
if item == nil then
|
|
item = FullTabButton.New(self.mContent)
|
|
self.tabbar_item_list[index] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(index,self.tabbar_asset,vo,self.select_callback,self.show_anim)
|
|
end
|
|
|
|
self.mContent.sizeDelta = Vector2(144, len * 100)
|
|
|
|
for i=#self.tabbar_list + 1,#self.tabbar_item_list do
|
|
self.tabbar_item_list[i]:SetVisible(false)
|
|
end
|
|
end
|
|
|
|
function FullWindowComponent:InitEvent()
|
|
local function onCloseBtnHandler(target)
|
|
if self.close_win_callback ~= nil then
|
|
self.close_win_callback()
|
|
end
|
|
end
|
|
|
|
AddClickEvent(self.win_close_btn,onCloseBtnHandler,1)
|
|
end
|
|
|
|
function FullWindowComponent:SetTabBarIndex(index)
|
|
if self.curr_tabBtn_index == index then return end
|
|
|
|
------------这是tabbar按钮样式------------------------
|
|
local tabbar = self.tabbar_item_list[self.curr_tabBtn_index]
|
|
if tabbar then
|
|
tabbar:SetSelect(false)
|
|
end
|
|
|
|
self.curr_tabBtn_index = index
|
|
|
|
tabbar = self.tabbar_item_list[self.curr_tabBtn_index]
|
|
if tabbar then
|
|
tabbar:SetSelect(true)
|
|
end
|
|
end
|
|
|
|
function FullWindowComponent:GetCurrentSelectIndex()
|
|
return self.curr_tabBtn_index
|
|
end
|
|
|
|
function FullWindowComponent:ShowRedPoint(index,bool)
|
|
local tabbar = self.tabbar_item_list[index]
|
|
if tabbar then
|
|
tabbar:ShowRedPoint(bool)
|
|
end
|
|
end
|