| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- local UIWorldMapCtr = class("UIWorldMapCtr", require("UICtrBase"))
- function UIWorldMapCtr:Init(view)
- self.view = view
- end
- ---@param data nil|boolean 是否播放进入下一个区域的动画
- function UIWorldMapCtr:SetData(data)
- self.asyncIdx = 0
- self.data = data
- self:InitData()
- ManagerContainer.DataMgr.BigMapData:SendGetData()
- end
- function UIWorldMapCtr:GetAsyncIdx()
- self.asyncIdx = self.asyncIdx + 1
- return self.asyncIdx
- end
- function UIWorldMapCtr:GetData()
- return self.data
- end
- function UIWorldMapCtr:OnDispose()
- self.data = nil
- self.view = nil
- self.curMapId = nil
- self.curLevelId = nil
- self.lastMapId = nil
- self.lastLevelId = nil
- end
- function UIWorldMapCtr:InitData()
- self.curMapId, self.curLevelId = ManagerContainer.LuaBattleMgr:GetCurMapAndLevel()
- if self:IsChangeMap() then
- -- 找到上一个区域的最后一个关卡点
- local lastMapId = self.curMapId - 1
- if(lastMapId < 1) then
- lastMapId =1
- end
-
- local lastLevelId = 0
- local levelData = ManagerContainer.CfgMgr:GetLevelDataByMapAndLevel(lastMapId, 1)
- while levelData ~= nil do
- lastLevelId = lastLevelId + 1
- levelData = ManagerContainer.CfgMgr:GetLevelDataByMapAndLevel(lastMapId, lastLevelId + 1)
- end
- if lastLevelId > 0 then
- self.lastMapId = lastMapId
- self.lastLevelId = lastLevelId
- return
- end
- LogError("Not Find lastMapId and lastLevelId. curMapId : " .. tostring(self.curMapId) .. " curLevelId : " .. tostring(self.curLevelId))
- end
- self.data = nil
- self.lastMapId = nil
- self.lastLevelId = nil
- end
- function UIWorldMapCtr:IsChangeMap()
- return self.data or false
- end
- function UIWorldMapCtr:GetCurMapId()
- return self.curMapId
- end
- function UIWorldMapCtr:GetLastMapId()
- return self.lastMapId
- end
- function UIWorldMapCtr:GetShowMapId()
- if self:IsChangeMap() then
- return self.lastMapId
- else
- return self.curMapId
- end
- end
- function UIWorldMapCtr:GetShowMapName()
- if self:IsChangeMap() then
- return self:GetMapName(self.lastMapId, self.lastLevelId)
- else
- return self:GetMapName(self.curMapId, self.curLevelId)
- end
- end
- function UIWorldMapCtr:ClearChangeMap()
- self.data = nil
- end
- function UIWorldMapCtr:GetMapName(mapId, levelId)
- local levelData = ManagerContainer.CfgMgr:GetLevelDataByMapAndLevel(mapId, levelId)
- local mapName = levelData and I18N.SetLanguageValue(levelData.Name) or ''
- if ManagerContainer.LuaBattleMgr:IsShowDifficultyTxt() then
- mapName = I18N.T(ManagerContainer.LuaBattleMgr:CurLevelQianZhuiKey())..mapName
- end
- return mapName
- end
- function UIWorldMapCtr:GetTopRankPlayerList()
- return ManagerContainer.DataMgr.BigMapData:GetTopRankPlayerList()
- end
- return UIWorldMapCtr
|