668 lines
24 KiB
Lua
668 lines
24 KiB
Lua
ChanagePanel = quick_class("PVEActivityPanel")
|
|
local this = ChanagePanel
|
|
local HeroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
|
|
local FoodsConfig = ConfigManager.GetConfig(ConfigName.FoodsConfig)
|
|
local ItemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
|
|
--难度背景
|
|
local difficultyBg = {
|
|
GetPictureFont("X1_pve_nandu_01"),
|
|
GetPictureFont("X1_pve_nandu_02"),
|
|
GetPictureFont("X1_pve_nandu_03"),
|
|
GetPictureFont("X1_pve_nandu_04")
|
|
}
|
|
--卡牌背景
|
|
local cardBg = {
|
|
"X1_pve_bossdiban_01",
|
|
"X1_pve_bossdiban_02",
|
|
"X1_pve_bossdiban_03",
|
|
"X1_pve_bossdiban_04"
|
|
}
|
|
--章节背景
|
|
local chapterBg = {
|
|
"X1_pve_zhangjie_xuanzhong",
|
|
"X1_pve_zhangjie_weixuanzhong",
|
|
}
|
|
local liveConfig --立绘信息
|
|
local liveObj --立绘
|
|
local checkpointItem = {} --关卡头像预制
|
|
local rewardList = {} --通关奖励
|
|
local disableList = {} --禁用列表
|
|
local taskList = {} --条件列表
|
|
local addGoList = {} --加成列表
|
|
|
|
local lastchapterBg --上次选中的章节背景
|
|
local lastSelectBg --上次选中的关卡背景
|
|
local lastSelectChapter --上次选择的章节
|
|
local lastSelectId --上次选择的关卡
|
|
local lastActivityId --上次的活动
|
|
local myParent
|
|
local SelectData
|
|
|
|
function this:InitComponent(go)
|
|
this.gameObject = go
|
|
|
|
this.name = Util.GetGameObject(this.gameObject, "bg/title/name/Text"):GetComponent("Text")
|
|
--活动时间
|
|
this.time = Util.GetGameObject(this.gameObject, "time/Text"):GetComponent("Text")
|
|
--禁用
|
|
this.disableGo = Util.GetGameObject(this.gameObject, "grid/disable")
|
|
this.disable = Util.GetGameObject(this.gameObject, "grid/disable/disable/disableGrid")
|
|
this.disablePre = Util.GetGameObject(this.gameObject, "grid/disable/disable/disableGrid/pre")
|
|
--条件
|
|
this.taskGo = Util.GetGameObject(this.gameObject, "grid/task")
|
|
this.task = Util.GetGameObject(this.gameObject, "grid/task/task")
|
|
this.taskPre = Util.GetGameObject(this.gameObject, "grid/task/task/pre")
|
|
--加成
|
|
this.addGo = Util.GetGameObject(this.gameObject, "grid/add")
|
|
this.add = Util.GetGameObject(this.gameObject, "grid/add/add")
|
|
this.addPre = Util.GetGameObject(this.gameObject, "grid/add/add/pre")
|
|
this.addPro = Util.GetGameObject(this.gameObject, "grid/add/addPro")
|
|
-- this.addProPre = Util.GetGameObject(this.gameObject, "grid/add/addPro/pre")
|
|
--通关奖励
|
|
this.reward = Util.GetGameObject(this.gameObject, "reward/Scroll View/Viewport/gird")
|
|
--章节
|
|
this.chapterScroll = Util.GetGameObject(this.gameObject, "chapterScroll")
|
|
this.chapterPre = Util.GetGameObject(this.gameObject, "chapterScroll/pre")
|
|
local chapterScrollV2 = this.chapterScroll:GetComponent("RectTransform").rect
|
|
this.chapterScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.chapterScroll.transform, this.chapterPre, nil,
|
|
Vector2.New(chapterScrollV2.width, chapterScrollV2.height), 2, 1, Vector2.New(5, 0))
|
|
this.chapterScrollView.moveTween.MomentumAmount = 1
|
|
this.chapterScrollView.moveTween.Strength = 2
|
|
--关卡
|
|
this.checkpointScroll = Util.GetGameObject(this.gameObject, "checkpointScroll")
|
|
this.checkpointPre = Util.GetGameObject(this.gameObject, "checkpointScroll/pre")
|
|
local checkpointScrollV2 = this.checkpointScroll:GetComponent("RectTransform").rect
|
|
this.checkpointScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, this.checkpointScroll.transform, this.checkpointPre, nil,
|
|
Vector2.New(checkpointScrollV2.width, checkpointScrollV2.height), 1, 1, Vector2.New(0, 5))
|
|
this.checkpointScrollView.gameObject:GetComponent("RectTransform").anchoredPosition = Vector2.New(20, 0)
|
|
this.checkpointScrollView.moveTween.MomentumAmount = 1
|
|
this.checkpointScrollView.moveTween.Strength = 2
|
|
--挑战
|
|
this.btnChallenge = Util.GetGameObject(this.gameObject, "btnChallenge")
|
|
--次数
|
|
this.countObj = Util.GetGameObject(this.gameObject, "count")
|
|
this.count = Util.GetGameObject(this.gameObject, "count/Text"):GetComponent("Text")
|
|
--怪物信息
|
|
this.cardBg = Util.GetGameObject(this.gameObject, "bg/cardbg"):GetComponent("Image")
|
|
this.power = Util.GetGameObject(this.gameObject, "bg/cardbg/power/power"):GetComponent("Text")
|
|
this.liveMask = Util.GetGameObject(this.gameObject, "bg/cardbg/mask/root")
|
|
|
|
this.move = Util.GetGameObject(this.gameObject, "bg/move"):GetComponent("RectTransform")
|
|
--星数奖励
|
|
this.btnStar = Util.GetGameObject(this.gameObject, "btnStar")
|
|
this.btnStarRedPoint = Util.GetGameObject(this.gameObject, "btnStar/redpoint")
|
|
|
|
this.btnScreen = Util.GetGameObject(this.gameObject, "btnScreen")
|
|
end
|
|
|
|
local isInBattle
|
|
function this:BindEvent()
|
|
Util.AddClick(this.btnChallenge, function ()
|
|
if BattleManager.IsInBackBattle() then
|
|
PopupTipPanel.ShowTipByLanguageId(50014)
|
|
return
|
|
end
|
|
if PVEActivityManager.GetTime(lastActivityId) - GetTimeStamp() <= 0 then
|
|
PopupTipPanel.ShowTipByLanguageId(10100)
|
|
return
|
|
end
|
|
|
|
local alldata = PVEActivityManager.GetCheckpointList(lastSelectChapter)
|
|
for i = 1, #alldata do
|
|
if alldata[i].config.Id == lastSelectId and alldata[i].cost then
|
|
if BagManager.GetItemCountById(alldata[i].cost[1][1]) < alldata[i].cost[1][2] then
|
|
PopupTipPanel.ShowTipByLanguageId(11880)
|
|
return
|
|
end
|
|
end
|
|
end
|
|
|
|
local teamList = FormationManager.GetWuJinFormationHeroIds(FormationTypeDef.FORMATION_NORMAL)
|
|
local allState = true
|
|
for key, value in pairs(teamList) do
|
|
local property = HeroManager.GetSingleHeroDataByDynamicId(key).property
|
|
local state = false
|
|
if SelectData.config.LineRules then
|
|
for i = 1, #SelectData.config.LineRules do
|
|
if SelectData.config.LineRules[i] == property then
|
|
state = true
|
|
end
|
|
end
|
|
else
|
|
state = true
|
|
end
|
|
if not state then
|
|
allState = false
|
|
end
|
|
end
|
|
if not allState then
|
|
PopupTipPanel.ShowTipByLanguageId(50452)
|
|
return
|
|
end
|
|
|
|
if isInBattle then
|
|
return
|
|
end
|
|
isInBattle = true
|
|
PVEActivityManager.ChallengeCheckpoint(lastSelectId, 1, function (msg)
|
|
this:OnShow(myParent, lastActivityId)
|
|
end)
|
|
end)
|
|
|
|
Util.AddClick(this.btnStar, function ()
|
|
UIManager.OpenPanel(UIName.StarRewardPanel, lastActivityId)
|
|
end)
|
|
|
|
Util.AddClick(this.btnScreen, function ()
|
|
UIManager.OpenPanel(UIName.ClimbTowerEliteFilterStarPopup, 2, {lastActivityId})
|
|
end)
|
|
-- RedpotManager.BindObject(RedPointType.PVEStarReward, this.btnStarRedPoint, lastActivityId)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function this:AddListener()
|
|
Game.GlobalEvent:AddEvent(GameEvent.RedPoint.PveStar, this.RefreshRedpoint)
|
|
Game.GlobalEvent:AddEvent(GameEvent.PVE.Jump, this.Jump)
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function this:RemoveListener()
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.RedPoint.PveStar, this.RefreshRedpoint)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.PVE.Jump, this.Jump)
|
|
end
|
|
|
|
function this:OnSortingOrderChange()
|
|
end
|
|
|
|
-- 打开时调用
|
|
function this:OnOpen()
|
|
end
|
|
|
|
function this.RefreshRedpoint()
|
|
this.btnStarRedPoint:SetActive(PVEActivityManager.SetPveStarRewardRedpoint(lastActivityId))
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function this:OnShow(parent, activityId, isJump)
|
|
myParent = parent
|
|
isInBattle = false
|
|
if not isJump then
|
|
lastSelectId = nil
|
|
end
|
|
|
|
--无星数不显示奖励
|
|
local activityGroups = ConfigManager.GetConfigDataByKey(ConfigName.ActivityGroups, "ActId", activityId)
|
|
this.btnStar:SetActive(activityGroups.ActiveType ~= 30000)
|
|
this.btnScreen:SetActive(activityGroups.ActiveType ~= 30000)
|
|
|
|
local chapterList = PVEActivityManager.GetChapterData(activityId)
|
|
if not lastSelectChapter or activityId ~= lastActivityId then
|
|
lastSelectChapter = PVEActivityManager.GetShowChapterId(activityId)
|
|
lastSelectId = nil
|
|
end
|
|
lastActivityId = activityId
|
|
|
|
this.RefreshRedpoint()
|
|
this.SetTitleAndTime()
|
|
this.chapterScrollView:SetData(chapterList, function (index, go)
|
|
this.SetChapterData(go, chapterList[index], index)
|
|
end)
|
|
for i = 1, #chapterList do
|
|
if chapterList[i].Id == lastSelectChapter then
|
|
this.chapterScrollView:SetIndex(i)
|
|
local checkpointList = PVEActivityManager.GetCheckpointList(lastSelectChapter)
|
|
for j = 1, #checkpointList do
|
|
if lastSelectId then
|
|
if checkpointList[j].config.Id == lastSelectId then
|
|
this.checkpointScrollView:SetIndex(j)
|
|
break
|
|
end
|
|
else
|
|
if checkpointList[j].config.Id == PVEActivityManager.GetUnlockCheckpointFormChapter(checkpointList[j].config.ChapterID) then
|
|
this.checkpointScrollView:SetIndex(j)
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function this:OnClose()
|
|
PVEActivityManager.StopTimeDown()
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function this:OnDestroy()
|
|
if liveObj then
|
|
UnLoadHerolive(liveConfig, liveObj)
|
|
Util.ClearChild(this.liveMask.transform)
|
|
liveObj = nil
|
|
end
|
|
|
|
lastActivityId = nil
|
|
lastSelectId = nil
|
|
lastSelectChapter = nil
|
|
lastchapterBg = nil
|
|
lastSelectBg = nil
|
|
checkpointItem = {}
|
|
rewardList = {}
|
|
disableList = {}
|
|
taskList = {}
|
|
addGoList = {}
|
|
end
|
|
|
|
--设置活动时间及倒计时
|
|
function this.SetTitleAndTime()
|
|
this.name.text = GetLanguageStrById(ConfigManager.TryGetConfigDataByKey(ConfigName.ActivityGroups, "ActId", lastActivityId).Sesc)
|
|
PVEActivityManager.RemainTimeDown(this.time.gameObject, this.time, PVEActivityManager.GetTime(lastActivityId) - GetTimeStamp())
|
|
end
|
|
|
|
--设置章节信息
|
|
function this.SetChapterData(go, data, index)
|
|
local chapter = Util.GetGameObject(go, "chapter"):GetComponent("Text")
|
|
local name = Util.GetGameObject(go, "name"):GetComponent("Text")
|
|
chapter.text = string.format(GetLanguageStrById(22416), index)
|
|
name.text = GetLanguageStrById(data.Name)
|
|
go:GetComponent("Image").sprite = Util.LoadSprite(chapterBg[2])
|
|
chapter.color = Color.New(255/255,255/255,255/255,0.8)
|
|
name.color = Color.New(255/255,255/255,255/255,0.65)
|
|
|
|
if data.Id == lastSelectChapter then
|
|
this.SetChapterSelect(go)
|
|
this.GetAllCheckpointData(data.Id)
|
|
end
|
|
|
|
--未解锁不显示
|
|
if PVEActivityManager.CheckChapterIsUnlock(data.Id) == 0 and data.TabHide == 0 then
|
|
go:SetActive(false)
|
|
else
|
|
go:SetActive(true)
|
|
end
|
|
|
|
Util.AddOnceClick(go, function ()
|
|
if PVEActivityManager.CheckChapterIsUnlock(data.Id) == 0 then
|
|
PopupTipPanel.ShowTip(GetLanguageStrById(22557))--未解锁
|
|
return
|
|
end
|
|
lastSelectChapter = data.Id
|
|
lastSelectId = nil
|
|
this.SetChapterSelect(go)
|
|
this.GetAllCheckpointData(data.Id)
|
|
end)
|
|
end
|
|
|
|
--设置章节选中
|
|
function this.SetChapterSelect(go)
|
|
if lastchapterBg then
|
|
lastchapterBg:GetComponent("Image").sprite = Util.LoadSprite(chapterBg[2])
|
|
Util.GetGameObject(lastchapterBg, "chapter"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,0.8)
|
|
Util.GetGameObject(lastchapterBg, "name"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,0.65)
|
|
end
|
|
lastchapterBg = go
|
|
go:GetComponent("Image").sprite = Util.LoadSprite(chapterBg[1])
|
|
Util.GetGameObject(go, "chapter"):GetComponent("Text").color = Color.New(0/255,0/255,0/255,0.8)
|
|
Util.GetGameObject(go, "name"):GetComponent("Text").color = Color.New(0/255,0/255,0/255,1)
|
|
end
|
|
|
|
--获取选中章节的关卡数据
|
|
function this.GetAllCheckpointData(id)
|
|
for index, value in ipairs(checkpointItem) do
|
|
value.gameObject:SetActive(false)
|
|
end
|
|
local alldata = PVEActivityManager.GetCheckpointList(id)
|
|
this.checkpointScrollView:SetData(alldata, function (index, go)
|
|
this.SetCheckpointData(go, alldata[index], index)
|
|
end)
|
|
|
|
for i = 1, #alldata do
|
|
if alldata[i].config.Id == PVEActivityManager.GetUnlockCheckpointFormChapter(alldata[i].config.ChapterID) then
|
|
this.checkpointScrollView:SetIndex(i)
|
|
end
|
|
end
|
|
end
|
|
|
|
--设置关卡信息
|
|
function this.SetCheckpointData(go, data, index)
|
|
local select = Util.GetGameObject(go, "select")
|
|
local name = Util.GetGameObject(go, "name"):GetComponent("Text")
|
|
local pos = Util.GetGameObject(go, "pos")
|
|
local starGrid = Util.GetGameObject(go, "starGrid")
|
|
local difficulty = Util.GetGameObject(go, "difficulty"):GetComponent("Image")
|
|
local mask = Util.GetGameObject(go, "mask")
|
|
|
|
starGrid:SetActive(data.config.StarShow == 1)
|
|
select:SetActive(false)
|
|
|
|
if data.config.StarShow then
|
|
for i = 1, 3 do
|
|
if data.starList ~= nil and i <= #data.starList then
|
|
Util.GetGameObject(starGrid, "star"..i.."/Image"):SetActive(true)
|
|
else
|
|
Util.GetGameObject(starGrid, "star"..i.."/Image"):SetActive(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
if not checkpointItem[go] then
|
|
checkpointItem[go] = SubUIManager.Open(SubUIConfig.ItemView, pos.transform)
|
|
end
|
|
checkpointItem[go]:OnOpen(false, {data.config.Enemy, 1}, 0.7)
|
|
checkpointItem[go]:ClickEnable(false)
|
|
checkpointItem[go]:ShowStar(false)
|
|
|
|
name.text = GetLanguageStrById(data.config.Name)
|
|
difficulty.sprite = Util.LoadSprite(difficultyBg[data.config.DifficultyShow])
|
|
mask:SetActive(data.state == 0)
|
|
|
|
if lastSelectId then
|
|
if data.config.Id == lastSelectId then
|
|
this.SetCheckpointSelect(select)
|
|
this.SetInfo(data)
|
|
end
|
|
else
|
|
if data.config.Id == PVEActivityManager.GetUnlockCheckpointFormChapter(data.config.ChapterID) then
|
|
lastSelectId = data.config.Id
|
|
this.SetCheckpointSelect(select)
|
|
this.SetInfo(data)
|
|
end
|
|
end
|
|
|
|
Util.AddOnceClick(go, function ()
|
|
if PVEActivityManager.CheckCheckpointIsUnlock(data.config.Id) == 0 then
|
|
PopupTipPanel.ShowTip(GetLanguageStrById(22557))--未解锁
|
|
return
|
|
end
|
|
lastSelectId = data.config.Id
|
|
this.SetCheckpointSelect(select)
|
|
this.SetInfo(data)
|
|
end)
|
|
end
|
|
|
|
--设置信息
|
|
function this.SetInfo(data)
|
|
this.SetCardData(data)
|
|
this.SetDisable(data.config)
|
|
this.SetAdd(data.config)
|
|
this.SetTask(data)
|
|
this.SetReward(data)
|
|
this.SetCost(data)
|
|
this.MoveBg()
|
|
SelectData = data
|
|
end
|
|
|
|
--设置关卡选中
|
|
function this.SetCheckpointSelect(select)
|
|
if lastSelectBg then
|
|
lastSelectBg:SetActive(false)
|
|
end
|
|
lastSelectBg = select
|
|
select:SetActive(true)
|
|
end
|
|
|
|
--设置卡牌信息
|
|
function this.SetCardData(data)
|
|
this.cardBg.sprite = Util.LoadSprite(cardBg[data.config.DifficultyShow])
|
|
this.power.text = data.config.Power
|
|
|
|
--立绘
|
|
if liveObj then
|
|
UnLoadHerolive(liveConfig, liveObj)
|
|
Util.ClearChild(this.liveMask.transform)
|
|
liveObj = nil
|
|
end
|
|
liveConfig = HeroConfig[data.config.Enemy]
|
|
this.liveMask.transform.localPosition = Vector3.New(data.livePos[1], data.livePos[2], 0)
|
|
liveObj = LoadHerolive(liveConfig, this.liveMask,true)
|
|
|
|
this.countObj:SetActive(true)
|
|
if data.config.RepeatTimes == -1 then--不可重复挑战
|
|
-- this.count.text = GetLanguageStrById(50208)
|
|
this.countObj:SetActive(false)
|
|
elseif data.config.RepeatTimes == 0 then--重复挑战
|
|
this.count.text = GetLanguageStrById(50209)
|
|
else
|
|
this.count.text = (data.config.RepeatTimes-data.challengeCount) .."/"..data.config.RepeatTimes
|
|
end
|
|
end
|
|
|
|
--设置禁用
|
|
function this.SetDisable(data)
|
|
for i = 1, #disableList do
|
|
disableList[i].gameObject:SetActive(false)
|
|
end
|
|
if not data.LineRules then
|
|
this.disableGo:SetActive(false)
|
|
return
|
|
end
|
|
this.disableGo:SetActive(true)
|
|
|
|
local list = {}
|
|
for i = 1, 5 do
|
|
local state = true
|
|
for j = 1, #data.LineRules do
|
|
if data.LineRules[j] == i then
|
|
state = false
|
|
end
|
|
end
|
|
if state then
|
|
table.insert(list, i)
|
|
end
|
|
end
|
|
|
|
for i = 1, #list do
|
|
if not disableList[i] then
|
|
disableList[i] = newObjToParent(this.disablePre, this.disable.transform)
|
|
end
|
|
disableList[i].gameObject:SetActive(true)
|
|
local icon = Util.GetGameObject(disableList[i], "mask/Image"):GetComponent("Image")
|
|
icon.sprite = Util.LoadSprite(X1CampTabSelectPic[list[i]])
|
|
end
|
|
end
|
|
|
|
--设置条件
|
|
function this.SetTask(data)
|
|
for i = 1, #taskList do
|
|
taskList[i].gameObject:SetActive(false)
|
|
end
|
|
if not data.config.StarCondServer or data.config.StarShow == 0 then
|
|
this.taskGo:SetActive(false)
|
|
return
|
|
end
|
|
this.taskGo:SetActive(true)
|
|
|
|
for i = 1, #data.config.StarCondServer do
|
|
if not taskList[i] then
|
|
taskList[i] = newObjToParent(this.taskPre, this.task.transform)
|
|
end
|
|
taskList[i].gameObject:SetActive(true)
|
|
local desc = Util.GetGameObject(taskList[i].gameObject, "Text"):GetComponent("Text")
|
|
local str = GVM.GetTaskById(data.config.StarCondServer[i][1], unpack(data.config.StarCondServer[i], 2, #data.config.StarCondServer[i]))
|
|
desc.text = str
|
|
|
|
Util.GetGameObject(taskList[i].gameObject, "star/Image"):SetActive(false)
|
|
if data.starList ~= nil and #data.starList > 0 then
|
|
for j = 1, #data.starList do
|
|
if data.config.StarCondServer[i][1] == data.starList[j] then
|
|
if #data.starList < #data.config.StarCondServer then
|
|
if i > #data.starList then
|
|
if data.config.StarCondServer[2][1] == data.config.StarCondServer[3][1] then
|
|
else
|
|
Util.GetGameObject(taskList[i].gameObject, "star/Image"):SetActive(true)
|
|
end
|
|
else
|
|
Util.GetGameObject(taskList[i].gameObject, "star/Image"):SetActive(true)
|
|
end
|
|
else
|
|
Util.GetGameObject(taskList[i].gameObject, "star/Image"):SetActive(true)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--设置加成
|
|
function this.SetAdd(data)
|
|
if not data.BuffTarget then
|
|
this.addGo:SetActive(false)
|
|
this.addPro:GetComponent("Text").text = ""
|
|
return
|
|
end
|
|
this.addGo:SetActive(true)
|
|
|
|
local index = 1
|
|
if data.BuffTarget[1][1] == 1 then--阵营
|
|
if not addGoList[index] then
|
|
addGoList[index] = newObjToParent(this.addPre, this.add)
|
|
end
|
|
addGoList[index]:SetActive(true)
|
|
|
|
local img = Util.GetGameObject(addGoList[index], "Image"):GetComponent("Image")
|
|
img.sprite = Util.LoadSprite("X1_tongyong_zhenying_02")
|
|
img.gameObject:SetActive(true)
|
|
|
|
index = index + 1
|
|
elseif data.BuffTarget[1][1] == 2 then--卡牌
|
|
if not addGoList[index] then
|
|
addGoList[index] = newObjToParent(this.addPre, this.add)
|
|
end
|
|
addGoList[index]:SetActive(true)
|
|
|
|
local pos = Util.GetGameObject(addGoList[index], "pos")
|
|
Util.ClearChild(pos.transform)
|
|
local itemView = SubUIManager.Open(SubUIConfig.ItemView, pos.transform)
|
|
itemView:OnOpen(false, {data.BuffTarget[2][1], 1}, 0.55)
|
|
index = index + 1
|
|
end
|
|
|
|
this.SetAddPro(data)
|
|
end
|
|
|
|
-- local buff
|
|
--设置加成效果
|
|
function this.SetAddPro(data)
|
|
-- if buff then
|
|
-- buff.gameObject:SetActive(false)
|
|
-- end
|
|
-- if not buff then
|
|
-- buff = newObjToParent(this.addProPre, this.addPro)
|
|
-- end
|
|
-- buff.gameObject:SetActive(true)
|
|
if not data.BuffId then
|
|
this.addPro:GetComponent("Text").text = ""
|
|
end
|
|
local config = FoodsConfig[data.BuffId]
|
|
this.addPro:GetComponent("Text").text = GetLanguageStrById(config.Desc)
|
|
-- local title = Util.GetGameObject(buff, "title"):GetComponent("Text")
|
|
-- local value = Util.GetGameObject(buff, "value"):GetComponent("Text")
|
|
end
|
|
|
|
--设置通关奖励
|
|
function this.SetReward(allData)
|
|
local data = allData.config
|
|
for i = 1, #rewardList do
|
|
rewardList[i]:SetCorner(1, false)
|
|
rewardList[i]:SetCorner(3, false)
|
|
rewardList[i].gameObject:SetActive(false)
|
|
end
|
|
local index = 1
|
|
if #allData.starList <= 0 then
|
|
for i = 1, #data.FirstReward do
|
|
if not rewardList[index] then
|
|
rewardList[index] = SubUIManager.Open(SubUIConfig.ItemView, this.reward.transform)
|
|
end
|
|
rewardList[index]:OnOpen(false, data.FirstReward[i], 0.65)
|
|
rewardList[index]:SetCorner(1, true)
|
|
rewardList[index].gameObject:SetActive(true)
|
|
index = index + 1
|
|
end
|
|
end
|
|
|
|
if data.RepeatReward then
|
|
for i = 1, #data.RepeatReward do
|
|
if not rewardList[index] then
|
|
rewardList[index] = SubUIManager.Open(SubUIConfig.ItemView, this.reward.transform)
|
|
end
|
|
rewardList[index]:OnOpen(false, data.RepeatReward[i], 0.65)
|
|
rewardList[index].gameObject:SetActive(true)
|
|
index = index + 1
|
|
end
|
|
end
|
|
|
|
if data.RandomDropShow then
|
|
for i = 1, #data.RandomDropShow do
|
|
if not rewardList[index] then
|
|
rewardList[index] = SubUIManager.Open(SubUIConfig.ItemView, this.reward.transform)
|
|
end
|
|
rewardList[index]:OnOpen(false, data.RandomDropShow[i], 0.65)
|
|
rewardList[index]:SetCorner(3, true)
|
|
rewardList[index].gameObject:SetActive(true)
|
|
index = index + 1
|
|
end
|
|
end
|
|
end
|
|
|
|
--设置消耗
|
|
function this.SetCost(data)
|
|
local cost = Util.GetGameObject(this.btnChallenge, "cost")
|
|
local icon = Util.GetGameObject(this.btnChallenge, "cost/icon"):GetComponent("Image")
|
|
local value = Util.GetGameObject(this.btnChallenge, "cost/Text"):GetComponent("Text")
|
|
local txt = Util.GetGameObject(this.btnChallenge, "Text"):GetComponent("Text")
|
|
local clearance = Util.GetGameObject(this.gameObject, "clearance")
|
|
if data.cost then
|
|
cost.gameObject:SetActive(true)
|
|
icon.sprite = Util.LoadSprite(GetResourcePath(ItemConfig[data.cost[1][1]].ResourceID))
|
|
value.text = "x"..data.cost[1][2]
|
|
myParent.UpView:OnOpen({showType = UpViewOpenType.ShowRight, panelType = {16, data.cost[1][1]}})
|
|
else
|
|
cost.gameObject:SetActive(false)
|
|
myParent.UpView:OnOpen({showType = UpViewOpenType.ShowRight, panelType = PanelType.Main})
|
|
end
|
|
|
|
clearance:SetActive(false)
|
|
this.btnChallenge:SetActive(true)
|
|
txt.text = GetLanguageStrById(10334)
|
|
Util.SetGray(this.btnChallenge, false)
|
|
this.btnChallenge:GetComponent("Button").enabled = true
|
|
if data.state == 2 then
|
|
if data.config.RepeatTimes == -1 then--不可重复挑战
|
|
clearance:SetActive(true)
|
|
this.btnChallenge:SetActive(false)
|
|
elseif data.config.RepeatTimes == 0 then--重复挑战
|
|
else
|
|
if data.config.RepeatTimes-data.challengeCount <= 0 then
|
|
txt.text = GetLanguageStrById(50232)
|
|
Util.SetGray(this.btnChallenge, true)
|
|
this.btnChallenge:GetComponent("Button").enabled = false
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function this.MoveBg()
|
|
this.move.gameObject:SetActive(true)
|
|
if this.taskGo.gameObject.activeSelf then
|
|
if this.addGo.gameObject.activeSelf then
|
|
this.move.anchoredPosition = Vector2.New(0,710)
|
|
else
|
|
this.move.anchoredPosition = Vector2.New(0,500)
|
|
end
|
|
else
|
|
if this.addGo.gameObject.activeSelf then
|
|
this.move.anchoredPosition = Vector2.New(0,500)
|
|
else
|
|
this.move.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function this.Jump(chapter, checkpoint)
|
|
lastSelectChapter = chapter
|
|
lastSelectId = checkpoint
|
|
this:OnShow(myParent, lastActivityId, true)
|
|
end
|
|
|
|
return this |