miduo_client/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelSingleChapterPane...

144 lines
5.5 KiB
Lua

require("Base/BasePanel")
FightLevelSingleChapterPanel = Inherit(BasePanel)
local this = FightLevelSingleChapterPanel
local sortingOrder = 0
local boxList = {}
local levelList = {}
--初始化组件(用于子类重写)
function FightLevelSingleChapterPanel:InitComponent()
self.btnBack = Util.GetGameObject(self.gameObject, "btnBack")
this.chapterNameText = Util.GetGameObject(self.gameObject, "rightUp/chapterNameText"):GetComponent("Text")
this.chapterNameImage = Util.GetGameObject(self.gameObject, "rightUp/starInfoBg/Image/Image"):GetComponent("Image")
this.totalPro = Util.GetGameObject(self.gameObject, "rewardBg/totalProImage/totalPro"):GetComponent("Text")
this.prb = Util.GetGameObject(self.gameObject, "middle/prb")
this.rect = Util.GetGameObject(self.gameObject, "middle/prb")
levelList = {}
for i = 1, 3 do
boxList[i] = Util.GetGameObject(self.gameObject, "middle/rewardBg/btnList/BoxBtn"..i)
end
end
--绑定事件(用于子类重写)
function FightLevelSingleChapterPanel:BindEvent()
Util.AddClick(self.btnBack, function()
self:ClosePanel()
end)
end
function FightLevelSingleChapterPanel:OnSortingOrderChange()
--特效层级重设
for i=1,#boxList do
Util.AddParticleSortLayer(boxList[i], sortingOrder)
end
sortingOrder = self.sortingOrder
end
--界面打开时调用(用于子类重写)
function FightLevelSingleChapterPanel:OnOpen()
-- SoundManager.PlaySound(SoundConfig.Sound_WorldMap)
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function FightLevelSingleChapterPanel:OnShow()
this.OnShowPanel()
end
function this.OnShowPanel()
this.SetSingleLevel(levelDatas)
this.SetlevelBox(_missionDatas)
end
function this.SingleChapterDataShow(go, data)
Util.GetGameObject(go, "chapterName"):GetComponent("Text").text = "10/20"
end
function this.SetSingleLevel(levelDatas)
for i = 1, math.max(#levelDatas, #levelList) do
local go = levelList[i]
if not go then
go = newObject(this.prb)
go.transform:SetParent(this.rect.transform)
go.name = "level"..i
go.transform.localScale = Vector3.one
go.transform.localPosition = Vector3.zero
levelList[i] = go
end
go.gameObject:SetActive(false)
end
for i, v in pairs(levelDatas) do
levelList[i]:SetActive(true)
local levelData = dailyTasksConfig[v.missionId]
local prb1 = Util.GetGameObject(levelList[i], "prb1")
local prb2 = Util.GetGameObject(levelList[i], "prb2")
prb1:SetActive(false)
prb2:SetActive(false)
if levelData.type == 1 then --主关卡
prb1:SetActive(true)
Util.GetGameObject(prb1, "nameBg/levelName"):GetComponent("Text").text = "1-5"
Util.AddOnceClick(levelList[i], function()
end)
elseif levelData.type == 2 then--副关卡
prb2:SetActive(true)
Util.AddOnceClick(levelList[i], function()
end)
end
end
end
function this.SetlevelBox(_missionDatas)
for i = 1, math.max(#_missionDatas, #boxList) do
local go = boxList[i]
if not go then
go = newObject(boxList[3])
go.transform:SetParent(Util.GetGameObject(myGo, "rewardBg/btnList").transform)
go.name = "BoxBtn"..i
go.transform.localScale = Vector3.one
go.transform.localPosition = Vector3.zero
boxList[i] = go
end
go.gameObject:SetActive(false)
end
local curGetRewardNum=0
for i, v in ipairs(curDailyMissionBoxData) do
--LogGreen("v.missionId "..v.missionId.." "..v.progress)
if v.progress > curGetRewardNum then
curGetRewardNum = v.progress
end
end
--LogGreen("#_missionDatas:"..#_missionDatas)
this.progressBottom.fillAmount=curGetRewardNum/dailyTasksConfig[_missionDatas[#_missionDatas].missionId].Values[2][1]
this.totalPro.text= Language[11320]..curGetRewardNum--.."/"..LengthOfTable(curDailyMissionData)
for i, v in pairs(_missionDatas) do
boxList[i]:SetActive(true)
local missionConfigData = dailyTasksConfig[v.missionId]
Util.GetGameObject(boxList[i], "num"):GetComponent("Text").text = missionConfigData.Values[2][1]
boxList[i]:GetComponent("Image").enabled = (not (v.state==SingleDailyMissionState.Finish or v.state==SingleDailyMissionState.GetFinish))
Util.GetGameObject(boxList[i], "UI_Effect_BaoXiang_KaiQi"):SetActive(v.state==SingleDailyMissionState.GetFinish)
Util.GetGameObject(boxList[i], "UI_Effect_BaoXiang_KaiQi/MeiKaiQi"):SetActive(false)
Util.GetGameObject(boxList[i], "UI_Effect_BaoXiang_KaiQi"):GetComponent("Animator").enabled = false
Util.GetGameObject(boxList[i], "UI_Effect_BaoXiang_KaiQi/KaiQi"):SetActive(v.state==SingleDailyMissionState.GetFinish)
Util.GetGameObject(boxList[i], "getFinish"):SetActive(false)
Util.GetGameObject(boxList[i], "redPoint"):SetActive(false)
Util.GetGameObject(boxList[i], "UI_Effect_BaoXiang_KeKaiQi"):SetActive(v.state==SingleDailyMissionState.Finish)
Util.AddOnceClick(boxList[i], function()
this.MissionBoxClick(boxList[i],v)
end)
end
end
--界面关闭时调用(用于子类重写)
function FightLevelSingleChapterPanel:OnClose()
end
--界面销毁时调用(用于子类重写)
function FightLevelSingleChapterPanel:OnDestroy()
end
return FightLevelSingleChapterPanel