法宝聚灵修改提交
parent
d4a1aa0b5a
commit
ac992766cb
File diff suppressed because it is too large
Load Diff
|
@ -3,9 +3,12 @@ TailsManSouPanel = Inherit(BasePanel)
|
|||
local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
|
||||
local this = TailsManSouPanel
|
||||
local redPointList = {}
|
||||
local tabsRedpoints = {}
|
||||
local tabs={}
|
||||
local tabsImg = {"r_hero_huo 1_zh", "r_hero_feng 1_zh", "r_hero_shui 1_zh", "r_hero_dadi 1_zh"}
|
||||
-- Tab管理器
|
||||
local TabBox = require("Modules/Common/TabBox")
|
||||
local tabs = {
|
||||
local tabData = {
|
||||
[1] = { --金色
|
||||
default = "r_hero_xuanze_002", lock = "r_hero_xuanze_002", select = "r_hero_xuanze_001",tabName = "金色",
|
||||
rpType = RedPointType.tailsmanSoul_gold,quality = 5
|
||||
|
@ -21,14 +24,15 @@ local tabs = {
|
|||
}
|
||||
local curData = {}
|
||||
local curPage = 1
|
||||
|
||||
local proId = 1
|
||||
--初始化组件(用于子类重写)
|
||||
function TailsManSouPanel:InitComponent()
|
||||
this.spLoader = SpriteLoader.New()
|
||||
self.itemPreList = {}
|
||||
self.bg = Util.GetGameObject(self.gameObject,"bg"):GetComponent("Image")
|
||||
self.tabbox = Util.GetGameObject(self.gameObject,"bg/tabbox")
|
||||
--self.tabbox = Util.GetGameObject(self.gameObject,"bg/tabbox")
|
||||
self.btnBack = Util.GetGameObject(self.gameObject,"bg/btnBack")
|
||||
self.selectBtn = Util.GetGameObject(self.gameObject,"bg/Tabs/selectBtn")
|
||||
self.fetterItem = Util.GetGameObject(self.gameObject,"fetterItem")
|
||||
local grid = Util.GetGameObject(self.gameObject,"bg/fetterGrid")
|
||||
local v21 = grid.transform.rect
|
||||
|
@ -42,10 +46,36 @@ function TailsManSouPanel:InitComponent()
|
|||
self.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
|
||||
self.effectJin = Util.GetGameObject(self.gameObject,"bg/effect/UI_effect_RecruitPanel_particle_jin")
|
||||
self.effectHong = Util.GetGameObject(self.gameObject,"bg/effect/UI_effect_RecruitPanel_particle_hong")
|
||||
|
||||
for i = 1, 5 do
|
||||
tabs[i] = Util.GetGameObject(self.transform, "bg/Tabs/grid/Btn" .. i)
|
||||
tabsRedpoints[i] = Util.GetGameObject(tabs[i], "redpoint")
|
||||
--local name =Util.GetGameObject(tabs[i], "Text"):GetComponent("Text")
|
||||
--name.text = PropertyType[i]
|
||||
if tabsImg[i] then
|
||||
Util.GetGameObject(tabs[i], "Image"):GetComponent("Image").sprite = self.spLoader:LoadSprite(tabsImg[i])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--绑定事件(用于子类重写)
|
||||
function TailsManSouPanel:BindEvent()
|
||||
BindRedPointObject(RedPointType.tailsmanSoul_gold,tabsRedpoints[1].gameObject)
|
||||
BindRedPointObject(RedPointType.tailsmanSoul_red,tabsRedpoints[2].gameObject)
|
||||
BindRedPointObject(RedPointType.tailsmanSoul_whiteGold,tabsRedpoints[3].gameObject)
|
||||
BindRedPointObject(RedPointType.tailsmanSoul_blue,tabsRedpoints[4].gameObject)
|
||||
BindRedPointObject(RedPointType.tailsmanSoul_whiteBlue,tabsRedpoints[5].gameObject)
|
||||
for i = 1,5 do
|
||||
Util.AddClick(tabs[i], function()
|
||||
if i == proId then
|
||||
return
|
||||
end
|
||||
proId = i
|
||||
self:SetSelectBtn()
|
||||
curData = TailsManSoulManager.GetTailsmanSoulDatasByPro(proId)
|
||||
self:RefreshData()
|
||||
end)
|
||||
end
|
||||
Util.AddClick(self.btnBack, function()
|
||||
curPage = 1
|
||||
self:ClosePanel()
|
||||
|
@ -126,45 +156,68 @@ function TailsManSouPanel:BindEvent()
|
|||
table.insert(data,singData)
|
||||
UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.ShenHunShuXing,data)
|
||||
end)
|
||||
self.tabBox = TabBox.New()
|
||||
self.tabBox:SetTabAdapter(self.SetTabAdapter)
|
||||
self.tabBox:SetTabIsLockCheck(self.TabIsLockCheck)
|
||||
self.tabBox:SetChangeTabCallBack(self.SetChangeTabCallBack)
|
||||
-- self.tabBox = TabBox.New()
|
||||
-- self.tabBox:SetTabAdapter(self.SetTabAdapter)
|
||||
-- self.tabBox:SetTabIsLockCheck(self.TabIsLockCheck)
|
||||
-- self.tabBox:SetChangeTabCallBack(self.SetChangeTabCallBack)
|
||||
end
|
||||
function TailsManSouPanel.SetTabAdapter(newTab, index, status)
|
||||
local img = Util.GetGameObject(newTab.gameObject,"img"):GetComponent("Image")
|
||||
local redpot = Util.GetGameObject(newTab.gameObject,"redpot")
|
||||
local tabName = Util.GetGameObject(newTab.gameObject,"Text"):GetComponent("Text")
|
||||
local lock = Util.GetGameObject(newTab.gameObject,"lock")
|
||||
if tabs[index].rpType > 0 then
|
||||
if redPointList[tabs[index].rpType] then
|
||||
ClearRedPointObject(tabs[index].rpType,redPointList[tabs[index].rpType])
|
||||
end
|
||||
BindRedPointObject(tabs[index].rpType,redpot)
|
||||
redPointList[tabs[index].rpType] = redpot
|
||||
end
|
||||
img.sprite = this.spLoader:LoadSprite(tabs[index][status])
|
||||
tabName.text = tabs[index].tabName
|
||||
if status == "lock" then
|
||||
lock.gameObject:SetActive(true)
|
||||
|
||||
function TailsManSouPanel:RefreshList(istop,isAnim)
|
||||
self.datas = IncarnationManager.GetItemDataListByPro(proId)
|
||||
self.scroll:ForeachItemGO(function(index,go)
|
||||
go.gameObject:SetActive(false)
|
||||
end)
|
||||
if not self.datas or #self.datas < 1 then
|
||||
self.empty.gameObject:SetActive(true)
|
||||
self.scroll.gameObject:SetActive(false)
|
||||
else
|
||||
lock.gameObject:SetActive(false)
|
||||
end
|
||||
newTab.gameObject:SetActive(true)
|
||||
end
|
||||
|
||||
function TailsManSouPanel.TabIsLockCheck(index)
|
||||
return false
|
||||
end
|
||||
|
||||
function TailsManSouPanel.SetChangeTabCallBack(index)
|
||||
if curPage == index then
|
||||
return
|
||||
self.empty.gameObject:SetActive(false)
|
||||
self.scroll.gameObject:SetActive(true)
|
||||
self.scroll:SetData(self.datas,function(index,go)
|
||||
self:SetSingleData(go,self.datas[index],index)
|
||||
end,istop,isAnim)
|
||||
end
|
||||
curPage = index
|
||||
this:OnShow(self)
|
||||
end
|
||||
|
||||
function TailsManSouPanel:SetSelectBtn()
|
||||
self.selectBtn.transform:SetParent(tabs[proId].transform)
|
||||
self.selectBtn:GetComponent("RectTransform").localPosition = Vector3.zero
|
||||
end
|
||||
|
||||
-- function TailsManSouPanel.SetTabAdapter(newTab, index, status)
|
||||
-- local img = Util.GetGameObject(newTab.gameObject,"img"):GetComponent("Image")
|
||||
-- local redpot = Util.GetGameObject(newTab.gameObject,"redpot")
|
||||
-- local tabName = Util.GetGameObject(newTab.gameObject,"Text"):GetComponent("Text")
|
||||
-- local lock = Util.GetGameObject(newTab.gameObject,"lock")
|
||||
-- if tabs[index].rpType > 0 then
|
||||
-- if redPointList[tabs[index].rpType] then
|
||||
-- ClearRedPointObject(tabs[index].rpType,redPointList[tabs[index].rpType])
|
||||
-- end
|
||||
-- BindRedPointObject(tabs[index].rpType,redpot)
|
||||
-- redPointList[tabs[index].rpType] = redpot
|
||||
-- end
|
||||
-- img.sprite = this.spLoader:LoadSprite(tabs[index][status])
|
||||
-- tabName.text = tabs[index].tabName
|
||||
-- if status == "lock" then
|
||||
-- lock.gameObject:SetActive(true)
|
||||
-- else
|
||||
-- lock.gameObject:SetActive(false)
|
||||
-- end
|
||||
-- newTab.gameObject:SetActive(true)
|
||||
-- end
|
||||
|
||||
-- function TailsManSouPanel.TabIsLockCheck(index)
|
||||
-- return false
|
||||
-- end
|
||||
|
||||
-- function TailsManSouPanel.SetChangeTabCallBack(index)
|
||||
-- if curPage == index then
|
||||
-- return
|
||||
-- end
|
||||
-- curPage = index
|
||||
-- this:OnShow(self)
|
||||
-- end
|
||||
|
||||
--添加事件监听(用于子类重写)
|
||||
function TailsManSouPanel:AddListener()
|
||||
end
|
||||
|
@ -176,24 +229,24 @@ end
|
|||
--界面打开时调用(用于子类重写)
|
||||
function TailsManSouPanel:OnOpen(...)
|
||||
local args = {...}
|
||||
curPage = args[1] or 1
|
||||
curPage = args[1] or 2
|
||||
end
|
||||
|
||||
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
||||
function TailsManSouPanel:OnShow()
|
||||
self.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main })
|
||||
self.tabBox:Init(self.tabbox.gameObject, tabs, curPage)
|
||||
curData = TailsManSoulManager.GetTailsmanSoulDatas(tabs[curPage].quality)
|
||||
--self.tabBox:Init(self.tabbox.gameObject, tabs, curPage)
|
||||
curData = TailsManSoulManager.GetTailsmanSoulDatasByPro(1)
|
||||
self:RefreshData()
|
||||
self.effectJin.gameObject:SetActive(tabs[curPage].quality == 5)
|
||||
self.effectHong.gameObject:SetActive(tabs[curPage].quality == 6)
|
||||
self.effectJin.gameObject:SetActive(tabData[curPage].quality == 5)
|
||||
self.effectHong.gameObject:SetActive(tabData[curPage].quality == 6)
|
||||
Util.SetParticleSortLayer(self.effectJin.gameObject,self.sortingOrder + 1)
|
||||
Util.SetParticleSortLayer(self.effectHong.gameObject,self.sortingOrder + 1)
|
||||
end
|
||||
|
||||
|
||||
function TailsManSouPanel:RefreshData()
|
||||
self:SortData()
|
||||
self:SetSelectBtn()
|
||||
self.scroll:ForeachItemGO(function(index,go)
|
||||
go.gameObject:SetActive(false)
|
||||
end)
|
||||
|
@ -210,17 +263,15 @@ function TailsManSouPanel:RefreshData()
|
|||
end
|
||||
end
|
||||
|
||||
function TailsManSouPanel:SortData()
|
||||
|
||||
end
|
||||
|
||||
|
||||
function TailsManSouPanel:SetSingleData(go,data,index)
|
||||
if not self.itemPreList[go] then
|
||||
self.itemPreList[go] = {}
|
||||
self.itemPreList[go].obj = Util.GetGameObject(go,"go")
|
||||
self.itemPreList[go].effect = Util.GetGameObject(self.itemPreList[go].obj,"ui-fabao")
|
||||
--self.itemPreList[go].effect = Util.GetGameObject(self.itemPreList[go].obj,"ui-fabao")
|
||||
self.itemPreList[go].bg = Util.GetGameObject(self.itemPreList[go].obj,"bg"):GetComponent("Image") --根据品质变化的图片 f_fabaojuling_zhujiemianbaijin f_fabaojuling_zhujiemianhong f_fabaojuling_zhujiemianjin
|
||||
self.itemPreList[go].tip = Util.GetGameObject(self.itemPreList[go].bg.transform,"slider/tip"):GetComponent("Image") --根据品质变化的图片 f_fabaojuling_zhujiemianbaijin f_fabaojuling_zhujiemianhong f_fabaojuling_zhujiemianjin
|
||||
--self.itemPreList[go].tip = Util.GetGameObject(self.itemPreList[go].bg.transform,"slider/tip"):GetComponent("Image") --根据品质变化的图片 f_fabaojuling_zhujiemianbaijin f_fabaojuling_zhujiemianhong f_fabaojuling_zhujiemianjin
|
||||
self.itemPreList[go].mask1 = Util.GetGameObject(self.itemPreList[go].bg.transform,"slider/mask1"):GetComponent("Image") --根据品质变化的图片 f_fabaojuling_zhujiemianbaijin f_fabaojuling_zhujiemianhong f_fabaojuling_zhujiemianjin
|
||||
self.itemPreList[go].mask2 = Util.GetGameObject(self.itemPreList[go].bg.transform,"slider/mask2"):GetComponent("Image") --根据品质变化的图片 f_fabaojuling_zhujiemianbaijin f_fabaojuling_zhujiemianhong f_fabaojuling_zhujiemianjin
|
||||
self.itemPreList[go].nameText = Util.GetGameObject(self.itemPreList[go].obj,"bg/nameDi"):GetComponent("Image") --名字图片 根据表读取
|
||||
|
@ -243,14 +294,14 @@ function TailsManSouPanel:SetSingleData(go,data,index)
|
|||
end
|
||||
go.gameObject:SetActive(true)
|
||||
self.itemPreList[go].bg.sprite = this.spLoader:LoadSprite(GetTailsmanSoulDiImage[self.itemPreList[go].data.quality].bg)
|
||||
self.itemPreList[go].tip.sprite = this.spLoader:LoadSprite(GetTailsmanSoulDiImage[self.itemPreList[go].data.quality].tip)
|
||||
self.itemPreList[go].mask1.sprite = this.spLoader:LoadSprite(GetTailsmanSoulDiImage[self.itemPreList[go].data.quality].mask)
|
||||
self.itemPreList[go].mask2.sprite = this.spLoader:LoadSprite(GetTailsmanSoulDiImage[self.itemPreList[go].data.quality].mask)
|
||||
--self.itemPreList[go].tip.sprite = this.spLoader:LoadSprite(GetTailsmanSoulDiImage[self.itemPreList[go].data.quality].tip)
|
||||
self.itemPreList[go].mask1.sprite = this.spLoader:LoadSprite("f_fabaojuling_huawenbaijin")
|
||||
self.itemPreList[go].mask2.sprite = this.spLoader:LoadSprite("f_fabaojuling_huawenbaijin")
|
||||
self.itemPreList[go].nameText.sprite = this.spLoader:LoadSprite(GetResourcePath(self.itemPreList[go].data.icon))
|
||||
self.itemPreList[go].slider.value = self.itemPreList[go].data.lv/self.itemPreList[go].data.maxLv
|
||||
self.itemPreList[go].progress.text = self.itemPreList[go].data.lv.."/"..self.itemPreList[go].data.maxLv
|
||||
self.itemPreList[go].red.gameObject:SetActive(self:CheckRedPoint(self.itemPreList[go].data.trumpList))
|
||||
self.itemPreList[go].effect:SetActive(self.itemPreList[go].data.quality == 6)
|
||||
--self.itemPreList[go].effect:SetActive(self.itemPreList[go].data.quality == 6)
|
||||
|
||||
for i = 1,math.max(#data.trumpList,#self.itemPreList[go].iconList) do
|
||||
if not data.trumpList[i] then
|
||||
|
@ -263,7 +314,7 @@ function TailsManSouPanel:SetSingleData(go,data,index)
|
|||
self.itemPreList[go].iconList[i].effectjin.gameObject:SetActive(data.trumpList[i].config.Quality == 5)
|
||||
end
|
||||
Util.SetParticleSortLayer(go,self.sortingOrder + 1)
|
||||
Util.SetParticleSortLayer(self.itemPreList[go].effect,self.sortingOrder + 1)
|
||||
--Util.SetParticleSortLayer(self.itemPreList[go].effect,self.sortingOrder + 1)
|
||||
Util.AddOnceClick(go,function()
|
||||
UIManager.OpenPanel(UIName.TailsmanSoulMainPanel,self.itemPreList[go].data.id)
|
||||
end)
|
||||
|
@ -306,6 +357,11 @@ function TailsManSouPanel:OnDestroy()
|
|||
redPointList = {}
|
||||
SubUIManager.Close(self.UpView)
|
||||
curPage = 1
|
||||
ClearRedPointObject(RedPointType.tailsmanSoul_gold,tabsRedpoints[1].gameObject)
|
||||
ClearRedPointObject(RedPointType.tailsmanSoul_red,tabsRedpoints[2].gameObject)
|
||||
ClearRedPointObject(RedPointType.tailsmanSoul_whiteGold,tabsRedpoints[3].gameObject)
|
||||
ClearRedPointObject(RedPointType.tailsmanSoul_blue,tabsRedpoints[4].gameObject)
|
||||
ClearRedPointObject(RedPointType.tailsmanSoul_whiteBlue,tabsRedpoints[5].gameObject)
|
||||
end
|
||||
|
||||
return TailsManSouPanel
|
|
@ -19,6 +19,7 @@ function this.GetTailsmanSoulDatas(qua)
|
|||
singBookData.name = v.Name
|
||||
singBookData.icon = v.Icon
|
||||
singBookData.quality = v.Quality
|
||||
singBookData.PropertyName = v.PropertyName
|
||||
singBookData.trumpList,singBookData.maxLv,singBookData.lv,singBookData.skillList = this.GetTailsmanSoulDataById(singBookData.id)
|
||||
singBookData.trumpChipList = v.ItemList
|
||||
singBookData.skillConfig = v.SkillList
|
||||
|
@ -28,6 +29,28 @@ function this.GetTailsmanSoulDatas(qua)
|
|||
return datas
|
||||
end
|
||||
|
||||
--根据职业获取法宝之魂界面列表数据
|
||||
function this.GetTailsmanSoulDatasByPro(pro)
|
||||
local datas = {}
|
||||
for k,v in ConfigPairs(trumpBook) do
|
||||
if v.PropertyName==pro then
|
||||
local singBookData = {}
|
||||
singBookData.id = v.Id
|
||||
singBookData.name = v.Name
|
||||
singBookData.icon = v.Icon
|
||||
singBookData.quality = v.Quality
|
||||
singBookData.PropertyName = v.PropertyName
|
||||
singBookData.trumpList,singBookData.maxLv,singBookData.lv,singBookData.skillList = this.GetTailsmanSoulDataById(singBookData.id)
|
||||
singBookData.trumpChipList = v.ItemList
|
||||
singBookData.skillConfig = v.SkillList
|
||||
table.insert(datas,singBookData)
|
||||
end
|
||||
end
|
||||
return datas
|
||||
end
|
||||
|
||||
|
||||
|
||||
--法宝之魂界面列表数据
|
||||
function this.GetTailsmanSoulDatas1(qua)
|
||||
local datas = this.GetTailsmanSoulDatas(qua)
|
||||
|
@ -184,13 +207,19 @@ end
|
|||
|
||||
function this.CheckRedData(red)
|
||||
local list = {}
|
||||
local pro=1
|
||||
if red == RedPointType.tailsmanSoul_gold then
|
||||
list = this.GetTailsmanSoulDatas(5)
|
||||
pro=1
|
||||
elseif red == RedPointType.tailsmanSoul_red then
|
||||
list = this.GetTailsmanSoulDatas(6)
|
||||
pro=2
|
||||
elseif red == RedPointType.tailsmanSoul_whiteGold then
|
||||
list = this.GetTailsmanSoulDatas(7)
|
||||
pro=3
|
||||
elseif red == RedPointType.tailsmanSoul_blue then
|
||||
pro=4
|
||||
elseif red == RedPointType.tailsmanSoul_whiteBlue then
|
||||
pro=5
|
||||
end
|
||||
list = this.GetTailsmanSoulDatasByPro(pro)
|
||||
for i = 1,#list do
|
||||
if list[i] and list[i].trumpList then
|
||||
for k,v in pairs(list[i].trumpList) do
|
||||
|
|
Loading…
Reference in New Issue