67 lines
2.2 KiB
Lua
67 lines
2.2 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
|
|
WorldLevelCell = HL.Class('WorldLevelCell', UIWidgetBase)
|
|
|
|
|
|
|
|
|
|
WorldLevelCell._OnFirstTimeInit = HL.Override() << function(self)
|
|
|
|
end
|
|
|
|
|
|
|
|
WorldLevelCell.InitWorldLevelCell = HL.Method() << function(self)
|
|
self:_FirstTimeInit()
|
|
|
|
self.view.exploreBtn.onClick:RemoveAllListeners()
|
|
self.view.exploreBtn.onClick:AddListener(function()
|
|
if GameInstance.player.adventure.currentMaxWorldLevel == 1 then
|
|
|
|
UIManager:AutoOpen(PanelId.WorldLevelTipsPopup, { isTipsMode = true })
|
|
return
|
|
end
|
|
UIManager:AutoOpen(PanelId.WorldLevelTipsPopup)
|
|
end)
|
|
|
|
local missionId = Tables.adventureWorldLevelTable:GetValue(GameInstance.player.adventure.currentMaxWorldLevel).missionId
|
|
|
|
self.view.moreBtn.onClick:RemoveAllListeners()
|
|
self.view.moreBtn.onClick:AddListener(function()
|
|
self:OnClickMoreBtn()
|
|
end)
|
|
|
|
self.view.lvTxt.text = string.format("%02d", GameInstance.player.adventure.currentWorldLevel)
|
|
local missionData = GameInstance.player.mission:GetMissionData(missionId, false)
|
|
if missionData and (missionData.missionState == CS.Beyond.Gameplay.MissionSystem.MissionState.Available or missionData.missionState == CS.Beyond.Gameplay.MissionSystem.MissionState.Processing) then
|
|
self.view.stateController:SetState("Up")
|
|
else
|
|
self.view.stateController:SetState(GameInstance.player.adventure.isCurWorldLvMax and "Nrl" or "Lower")
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
WorldLevelCell.OnClickMoreBtn = HL.Method() << function(self)
|
|
if GameInstance.player.adventure.currentMaxWorldLevel == 1 then
|
|
Notify(MessageConst.SHOW_TOAST, Language.LUA_WORLD_LEVEL_SYSTEM_LOCK)
|
|
return
|
|
end
|
|
|
|
local missionId = Tables.adventureWorldLevelTable:GetValue(GameInstance.player.adventure.currentMaxWorldLevel).missionId
|
|
local missionData = GameInstance.player.mission:GetMissionData(missionId, false)
|
|
if missionData and (missionData.missionState == CS.Beyond.Gameplay.MissionSystem.MissionState.Available or missionData.missionState == CS.Beyond.Gameplay.MissionSystem.MissionState.Processing) then
|
|
PhaseManager:OpenPhase(PhaseId.Mission, { autoSelect = missionId })
|
|
end
|
|
|
|
end
|
|
|
|
HL.Commit(WorldLevelCell)
|
|
return WorldLevelCell
|
|
|