Files
Endfield-Data/LuaScripts/UI/Panels/MapMarkDetailKiteStation/MapMarkDetailKiteStationCtrl.lua
2025-12-02 20:37:18 +07:00

72 lines
2.1 KiB
Lua

local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
local PANEL_ID = PanelId.MapMarkDetailKiteStation
MapMarkDetailKiteStationCtrl = HL.Class('MapMarkDetailKiteStationCtrl', uiCtrl.UICtrl)
MapMarkDetailKiteStationCtrl.s_messages = HL.StaticField(HL.Table) << {
}
MapMarkDetailKiteStationCtrl.OnCreate = HL.Override(HL.Any) << function(self, arg)
local commonArgs = {
markInstId = arg.markInstId,
}
local _, markRuntimeData = GameInstance.player.mapManager:GetMarkInstRuntimeData(commonArgs.markInstId)
local kiteStationInsId = markRuntimeData.detail.systemInstId
local kiteStationData = GameInstance.player.kiteStationSystem:GetKiteStationDataByInstId(kiteStationInsId)
if kiteStationData.level == 0 then
local kiteStationCfg = Tables.kiteStationLevelTable[kiteStationInsId].list[1]
local unlockQuestState = GameInstance.player.mission:GetQuestState(kiteStationCfg.upgradeQuestId)
local unlockMissionId = GameInstance.player.mission:GetMissionIdByQuestId(kiteStationCfg.upgradeQuestId)
if unlockQuestState == CS.Beyond.Gameplay.MissionSystem.QuestState.Processing then
commonArgs.jumpInfo = {
onJump = function()
PhaseManager:OpenPhase(PhaseId.Mission, {autoSelect = unlockMissionId, useBlackMask = true})
end,
jumpText = kiteStationCfg.upgradeQuestDesc,
}
else
commonArgs.hintInfo = {
hintText = Language.LUA_KITE_STATION_MAP_MARK_DETAIL_HINT_TEXT,
importantHint = true,
}
end
self.view.levelStateNode.gameObject:SetActive(false)
else
commonArgs.bigBtnActive = true
local isMaxLevel = kiteStationData.level == Tables.GlobalConst.kiteStationMaxLevel
self.view.levelStateNode:SetState(isMaxLevel and "Max" or "Nrl")
self.view.lvText.text = kiteStationData.level
self.view.levelStateNode.gameObject:SetActive(true)
end
self.view.mapMarkDetailCommon:InitMapMarkDetailCommon(commonArgs)
end
HL.Commit(MapMarkDetailKiteStationCtrl)