90 lines
2.6 KiB
Lua
90 lines
2.6 KiB
Lua
|
|
local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
|
|
local PANEL_ID = PanelId.MapMarkDetailSettlement
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MapMarkDetailSettlementCtrl = HL.Class('MapMarkDetailSettlementCtrl', uiCtrl.UICtrl)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MapMarkDetailSettlementCtrl.s_messages = HL.StaticField(HL.Table) << {
|
|
|
|
}
|
|
|
|
|
|
MapMarkDetailSettlementCtrl.m_markRuntimeData = HL.Field(HL.Any)
|
|
|
|
|
|
|
|
|
|
|
|
MapMarkDetailSettlementCtrl.OnCreate = HL.Override(HL.Any) << function(self, args)
|
|
local markInstId = args.markInstId
|
|
local getRuntimeDataSuccess, markRuntimeData = GameInstance.player.mapManager:GetMarkInstRuntimeData(markInstId)
|
|
|
|
if getRuntimeDataSuccess == false then
|
|
logger.LogError("地图详情页获取实例数据失败" .. self.m_instId)
|
|
return
|
|
end
|
|
self.m_markRuntimeData = markRuntimeData
|
|
|
|
local forbidMapTp = Utils.isForbiddenMapTeleport()
|
|
local commonArgs = {}
|
|
commonArgs.markInstId = markInstId
|
|
self.view.forbidTeleportTips.gameObject:SetActive(forbidMapTp)
|
|
if forbidMapTp then
|
|
commonArgs.bigBtnActive = true
|
|
commonArgs.bigBtnText = Language["ui_mapmarkdetail_button_info"]
|
|
commonArgs.bigBtnIconName = UIConst.MAP_DETAIL_BTN_ICON_NAME.DETAIL
|
|
commonArgs.bigBtnCallback = function()
|
|
self:_OpenDetailPanel()
|
|
end
|
|
else
|
|
commonArgs.leftBtnActive = true
|
|
commonArgs.leftBtnText = Language["ui_mapmarkdetail_button_info"]
|
|
commonArgs.leftBtnIconName = UIConst.MAP_DETAIL_BTN_ICON_NAME.DETAIL
|
|
commonArgs.leftBtnCallback = function()
|
|
self:_OpenDetailPanel()
|
|
end
|
|
|
|
commonArgs.rightBtnActive = true
|
|
commonArgs.rightBtnText = Language["ui_mapmarkdetail_button_teleport"]
|
|
commonArgs.rightBtnIconName = UIConst.MAP_DETAIL_BTN_ICON_NAME.TELEPORT
|
|
commonArgs.rightBtnCallback = function()
|
|
self:_Teleport()
|
|
end
|
|
end
|
|
|
|
local settlementId = markRuntimeData.settlementId
|
|
local _, settlementData = Tables.settlementBasicDataTable:TryGetValue(settlementId)
|
|
commonArgs.titleText = settlementData.settlementName
|
|
commonArgs.descText = GameInstance.player.settlementSystem:GetSettlementDescription(settlementId)
|
|
|
|
|
|
self.view.detailCommon:InitMapMarkDetailCommon(commonArgs)
|
|
end
|
|
|
|
|
|
|
|
MapMarkDetailSettlementCtrl._Teleport = HL.Method() << function(self)
|
|
local markRuntimeData = self.m_markRuntimeData
|
|
MapUtils.teleportToHubByHubMark(markRuntimeData, markRuntimeData.settlementHubNodeId)
|
|
end
|
|
|
|
|
|
|
|
MapMarkDetailSettlementCtrl._OpenDetailPanel = HL.Method() << function(self)
|
|
PhaseManager:OpenPhase(PhaseId.SettlementMain,self.m_markRuntimeData.levelId)
|
|
end
|
|
|
|
HL.Commit(MapMarkDetailSettlementCtrl)
|