Hotfix - 2.0.0.144

EN: 2.0.0.144
CN: 2.0.0.143
JP: 2.0.0.146
KR: 2.0.0.151
This commit is contained in:
SL1900
2026-10-21 21:38:00 +09:00
parent 08b515afd9
commit 44f0ab2bc5
63 changed files with 392 additions and 313 deletions
@@ -134,7 +134,7 @@ function InfinityTowerLevel:OnEvent_UnloadComplete()
self.parent:EnterInfinityTowerAgainNext()
end
function InfinityTowerLevel:OnEvnet_Pause()
EventManager.Hit("show_Infinity_Pause", self.lvRunTime, self.tbCharId)
EventManager.Hit("show_Infinity_Pause", self.lvRunTime, self.tbCharId, self.tbCharTrialId)
end
function InfinityTowerLevel:OnEvent_AbandonBattle()
self:OnEvent_InfinityTowerEnd(3)
@@ -112,7 +112,7 @@ function TraceHuntLevel:SetDiscInfo()
end
function TraceHuntLevel:OnEvent_Pause()
if self.isCanPause then
EventManager.Hit("OpenTraceHuntPause", self.LevelId, self.tbCharId, self.parent.bSelfBoss)
EventManager.Hit("OpenTraceHuntPause", self.LevelId, self.tbCharId, self.parent.bSelfBoss, self.tbCharTrialId)
end
end
function TraceHuntLevel:OnEvent_AbandonBattle()
+3 -2
View File
@@ -45,8 +45,9 @@ function JumpUtil.JumpTo(jumpId, ...)
local transitionOpenCallback = function()
JumpUtil.DoJump(jumpId, table.unpack(args))
end
local nUseTransitionId = nTransitionId == 0 and 1 or nTransitionId
if bNeedTransition then
EventManager.Hit(EventId.SetTransition, nTransitionId, transitionOpenCallback, nTransitionType)
EventManager.Hit(EventId.SetTransition, nUseTransitionId, transitionOpenCallback, nTransitionType)
else
transitionOpenCallback()
end
@@ -138,7 +139,7 @@ function JumpUtil.JumpCheckAndTransition(jumpId, callback, ...)
end
callback(true, false, 0)
elseif nType == GameEnum.jumpType.InfinityTower then
callback(true, true, 0)
callback(true, true, 8)
elseif nType == GameEnum.jumpType.Phone then
local openCallback = function()
callback(true, false, 0)
@@ -25,7 +25,7 @@ ReengagementBDPreviewItemCtrl._mapNodeConfig = {
}
ReengagementBDPreviewItemCtrl._mapEventConfig = {}
function ReengagementBDPreviewItemCtrl:Refresh(nTrialBuildId)
self.mapBuildData = PlayerData.Build:GetTrialBuild(nTrialBuildId)
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(nTrialBuildId)
if self.mapBuildData == nil then
self.gameObject:SetActive(false)
return
@@ -70,7 +70,7 @@ function ReengagementBDPreviewItemCtrl:OnClickItem()
if self.mapBuildData == nil then
return
end
self.mapBuildData = PlayerData.Build:GetTrialBuild(self.mapBuildData.nBuildId)
self.mapBuildData = PlayerData.Build:GetLimitedTrialBuild(self.mapBuildData.nBuildId)
if self.mapBuildData == nil then
return
end
@@ -233,7 +233,7 @@ end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function ActivityLevelsInstancePauseCtrl:OnBtnClick_Settings(btn)
+1 -1
View File
@@ -3999,7 +3999,7 @@ return {
"",
false,
"",
"Elena's so fired up. I'd better do my best to help her out.",
"Alina's so fired up. I'd better do my best to help her out.",
""
}
},
+1 -1
View File
@@ -7464,7 +7464,7 @@ return {
"vo_STm10_05_068",
false,
"",
"That was also the name \"Alina Colossi\" was born into this world.",
"That was also when the name \"Alina Colossi\" was born into this world.",
""
}
},
+2 -2
View File
@@ -948,7 +948,7 @@ return {
"",
false,
"",
"그래서…… 앞으로의 일 얘기인데, 마왕님 생각을 들려주지 않을래?",
"그래서…… 앞으로의 일 얘기인데, ==PLAYER_NAME==의 생각을 들려주지 않을래?",
""
}
},
@@ -1037,7 +1037,7 @@ return {
"",
false,
"",
"피킨을 궁지에 몰아붙인 그 멋진 추리는, 마왕님만이 할 수 있는 거야!",
"피킨을 궁지에 몰아붙인 그 멋진 추리는, ==PLAYER_NAME==만이 할 수 있는 거야!",
""
}
},
+3 -3
View File
@@ -198,14 +198,14 @@ end
function ChapterPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function ChapterPauseCtrl:OnBtnClick_Skill(btn)
local tbCharId, tbTrial = {}, {}
local tbCharId, mapCharTrialId = {}, {}
for _, v in ipairs(self.tbChar) do
table.insert(tbCharId, v.nTid)
if v.nTrialId then
table.insert(tbTrial, v.nTrialId)
mapCharTrialId[v.nTid] = v.nTrialId
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, tbTrial)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function ChapterPauseCtrl:OnBtnClick_Settings(btn)
+3 -3
View File
@@ -202,14 +202,14 @@ end
function MainBattlePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function MainBattlePauseCtrl:OnBtnClick_Skill(btn)
local tbCharId, tbTrial = {}, {}
local tbCharId, mapCharTrialId = {}, {}
for _, v in ipairs(self.tbChar) do
table.insert(tbCharId, v.nTid)
if v.nTrialId then
table.insert(tbTrial, v.nTrialId)
mapCharTrialId[v.nTid] = v.nTrialId
end
end
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, tbTrial)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, tbCharId, false, mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function MainBattlePauseCtrl:OnBtnClick_Settings(btn)
+5 -5
View File
@@ -177,20 +177,20 @@ function PopupSkillCtrl:OnEnable()
local tbParam = self:GetPanelParam()
self.tbChar = tbParam[1]
local bNoMask = tbParam[2]
local tbTrialId = tbParam[3]
local mapCharTrialId = tbParam[3]
self.mapCharInfo = tbParam[4]
local nSelectCharId = tbParam[5]
self.bOutBattle = tbParam[6]
self._mapNode.aniBlur.gameObject:SetActive(not bNoMask)
self._mapNode.aniBlur2.gameObject:SetActive(bNoMask)
self.mapCharSkill = {}
local bTrial = tbTrialId and 0 < #tbTrialId
for k, nCharId in ipairs(self.tbChar) do
for _, nCharId in ipairs(self.tbChar) do
local mapChar = self.mapCharInfo and self.mapCharInfo[nCharId]
local nTrialId = mapCharTrialId and mapCharTrialId[nCharId]
if mapChar and mapChar.tbSkillAddedLvs then
self.mapCharSkill[nCharId] = clone(mapChar.tbSkillAddedLvs)
elseif bTrial then
self.mapCharSkill[nCharId] = PlayerData.Char:GetTrialCharSkillAddedLevel(tbTrialId[k])
elseif type(nTrialId) == "number" and 0 < nTrialId then
self.mapCharSkill[nCharId] = PlayerData.Char:GetAnyTrialCharSkillAddedLevel(nTrialId)
elseif self.mapCharInfo == nil or next(self.mapCharInfo) == nil then
self.mapCharSkill[nCharId] = PlayerData.Char:GetCharSkillAddedLevel(nCharId)
else
@@ -231,7 +231,7 @@ end
function DailyInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function DailyInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function DailyInstancePauseCtrl:OnBtnClick_Settings(btn)
@@ -242,20 +242,16 @@ function DormSelectCharCtrl:FilterChar()
self.tbSortedChar = {}
for _, data in pairs(self.tbAllChar) do
local mapCharCfgData = ConfigTable.GetData_Character(data.nId)
local mapDormCharCfgData = ConfigTable.GetData("DormRole", data.nId, false)
local mapDormCharCfgData = ConfigTable.GetData("DormRole", data.nId, true)
local bAvailable = mapCharCfgData.Available and mapDormCharCfgData ~= nil
if bAvailable then
local isFilter = PlayerData.Filter:CheckFilterByChar(data.nId)
local bCur = table.indexof(self.curChar, data.nId) > 0
if isFilter or bCur then
local mapSkill = PlayerData.Char:GetCharSkillUpgradeData(data.nId)
local nSkillLevelSum = 0
for k, v in pairs(mapSkill) do
nSkillLevelSum = nSkillLevelSum + v.nLv
end
data.SkillLevel = nSkillLevelSum
table.insert(self.tbSortedChar, data)
local mapSkill = PlayerData.Char:GetCharSkillUpgradeData(data.nId)
local nSkillLevelSum = 0
for k, v in pairs(mapSkill) do
nSkillLevelSum = nSkillLevelSum + v.nLv
end
data.SkillLevel = nSkillLevelSum
table.insert(self.tbSortedChar, data)
end
end
print("过滤后 charCount:" .. #self.tbSortedChar)
@@ -155,8 +155,27 @@ function DormContactBtnListCtrl:RemoveRewardHud(nEntityId, nFurId)
removedIdx = nIdx
end
end
local removedInfo = table.remove(self.mapListBtn[nEntityId], removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
if 0 < removedIdx then
local removedInfo = table.remove(self.mapListBtn[nEntityId], removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
end
end
function DormContactBtnListCtrl:RemoveAllRewardHud()
if self.mapListBtn == nil then
return
end
for _, tbBtnInfo in pairs(self.mapListBtn) do
local removedIdx = 0
for nIdx, mapInfo in ipairs(tbBtnInfo) do
if mapInfo.nType == 4 then
removedIdx = nIdx
end
end
if 0 < removedIdx then
local removedInfo = table.remove(tbBtnInfo, removedIdx)
self:RecycleBtnItem(removedInfo.goItem)
end
end
end
function DormContactBtnListCtrl:RemoveInteractiveBtn(nEntityId)
if self.mapListBtn[nEntityId] ~= nil then
@@ -24,7 +24,7 @@ DormFriendGridCtrl._mapNodeConfig = {
imgHead = {sComponentName = "Image"},
TMPBtnVisit = {
sComponentName = "TMP_Text",
sLanguageId = "DormBtn_Visit"
sLanguageId = "DormFriend_Visit"
}
}
DormFriendGridCtrl._mapEventConfig = {}
@@ -597,6 +597,7 @@ function DormInteractiveCtrl:OnBtnClick_ReceiveDormReward()
local afterIds = self._panel:GetDormRewardId()
self._mapNode.rtGiftHint:SetActive(0 < #afterIds)
self:CheckRewardFurnitureHuds()
self._mapNode.rtContact:RemoveAllRewardHud()
UTILS.OpenReceiveByChangeInfo(changeInfo)
DormGuideAdapter.NoteQuest(nil, true)
end
@@ -6,15 +6,9 @@ DormRoomGridCtrl._mapNodeConfig = {
imgNameBg = {},
imgLock = {},
TMPRoomName = {sComponentName = "TMP_Text"},
txtBtnGo = {
sComponentName = "TMP_Text",
sLanguageId = "MainView_Go"
},
txtBtnGo = {sComponentName = "TMP_Text", sLanguageId = "Dorm_Go"},
TMPRoomNotAvailable = {sComponentName = "TMP_Text"},
txtBtnGoGray = {
sComponentName = "TMP_Text",
sLanguageId = "MainView_Go"
},
txtBtnGoGray = {sComponentName = "TMP_Text", sLanguageId = "Dorm_Go"},
btnGo = {
sComponentName = "UIButton",
callback = "OnBtnClick_Go"
@@ -96,10 +96,7 @@ function DormMusicSelectCtrl:FilterDisc()
for _, data in pairs(self.tbAllDisc) do
local mapCfg = ConfigTable.GetData("Disc", data.nId)
if mapCfg.Visible then
local isFilter = PlayerData.Filter:CheckFilterByDisc(data.nId)
if isFilter then
table.insert(self.tbSortedDisc, data)
end
table.insert(self.tbSortedDisc, data)
end
end
end
@@ -236,7 +236,7 @@ end
function EquipmentInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function EquipmentInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function EquipmentInstancePauseCtrl:OnBtnClick_Settings(btn)
+10 -2
View File
@@ -668,7 +668,11 @@ function GachaCtrl:GachaOneExchangeCoin(mapGacha)
else
sTips = orderedFormat(ConfigTable.GetUIText("Recruit_Exchange"), nNeedCount, mapCostCfgData.Id, mapGachaStorage.DefaultQty - nDefaultCount, mapDefaultCfgData.Id)
end
ConfirmPanel(sTips, confirmCallback, "GachaShowTicketExchange")
local tips = "GachaShowTicketExchange"
if mapGacha.Id == 1001 then
tips = nil
end
ConfirmPanel(sTips, confirmCallback, tips)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("NotEnoughItem"))
end
@@ -786,7 +790,11 @@ function GachaCtrl:GachaTenExchangeCoin(mapGacha)
else
sTips = orderedFormat(ConfigTable.GetUIText("Recruit_Exchange"), nNeedCount, mapCostCfgData.Id, mapGachaStorage.DefaultQty * 10 - nSpecificCount - nDefaultCount, mapDefaultCfgData.Id)
end
ConfirmPanel(sTips, confirmCallback, "GachaShowTicketExchange")
local tips = "GachaShowTicketExchange"
if mapGacha.Id == 1001 then
tips = nil
end
ConfirmPanel(sTips, confirmCallback, tips)
else
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("NotEnoughItem"))
end
@@ -124,8 +124,9 @@ function InfinityTowerPauseCtrl:OnDestroy()
end
function InfinityTowerPauseCtrl:OnRelease()
end
function InfinityTowerPauseCtrl:OnEvent_ShowInfinityPause(runTime, tbChar)
function InfinityTowerPauseCtrl:OnEvent_ShowInfinityPause(runTime, tbChar, mapCharTrialId)
self.tbChar = tbChar
self._mapCharTrialId = mapCharTrialId
EventManager.Hit(EventId.BattleDashboardVisible, false)
PanelManager.InputDisable()
local lvId = PlayerData.InfinityTower:GetCurrentLv()
@@ -341,7 +342,7 @@ function InfinityTowerPauseCtrl:OnPanelClose(_, bGiveUp)
end
end
function InfinityTowerPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, true)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, true, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function InfinityTowerPauseCtrl:OnBtnClick_Settings(btn)
@@ -227,7 +227,7 @@ function MainlineEx_DustDawnStoryCtrl:RefreshStoryList()
if recentStoryId ~= 0 then
for i = 1, #self.tbChapterStoryNumIds do
if self.tbChapterStoryNumIds[i] == recentStoryId then
self:AddTimer(1, 0.1, function()
self:AddTimer(1, 0.01, function()
local time = self.bInit and 0 or self.nScrollTime
self._mapNode.svStory:SetScrollGridPos(i, time, 0)
self.bInit = true
@@ -277,7 +277,7 @@ end
function RegionBossPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function RegionBossPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function RegionBossPauseCtrl:OnBtnClick_Settings(btn)
@@ -236,7 +236,7 @@ end
function SkillInstancePauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function SkillInstancePauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function SkillInstancePauseCtrl:OnBtnClick_Settings(btn)
@@ -1,64 +1,101 @@
local SoldierCharCardItemCtrl = require("Game.UI.Soldier.Template.Character.SoldierCharCardItemCtrl")
local SoldierRecommendCharItemCtrl = class("SoldierRecommendCharItemCtrl", SoldierCharCardItemCtrl)
local SoldierRecommendCharItemCtrl = class("SoldierRecommendCharItemCtrl", BaseCtrl)
local MAX_STAR = 5
local SetActiveIfChanged = function(goNode, bActive)
if goNode.activeSelf ~= bActive then
goNode:SetActive(bActive)
end
end
SoldierRecommendCharItemCtrl._mapNodeConfig = {
btnItem = {
sComponentName = "UIButton",
callback = "OnBtnItemClick"
},
Star = {nCount = MAX_STAR},
goChar = {},
imgEmpty = {},
imageIcon = {sComponentName = "Image"},
imageRarity = {sComponentName = "Image"},
img_Position = {sComponentName = "Image"}
}
SoldierRecommendCharItemCtrl._mapEventConfig = {}
SoldierRecommendCharItemCtrl._mapRedDotConfig = {}
function SoldierRecommendCharItemCtrl:Awake()
SoldierCharCardItemCtrl.Awake(self)
self._mapSpritePath = {}
self._mapNode.animRoot.enabled = false
local trAttribute = self._mapNode.goChar.transform:Find("imgAttribute")
if trAttribute ~= nil then
self._imgAttribute = trAttribute:GetComponent("Image")
end
local trAnimRoot = self._mapNode.btnItem.transform:Find("AnimRoot")
if trAnimRoot ~= nil then
local objAnimator = trAnimRoot:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = false
end
end
end
function SoldierRecommendCharItemCtrl:OnEnable()
SoldierCharCardItemCtrl.OnEnable(self)
self:SetAttribute(self._nRecommendPosition)
end
function SoldierRecommendCharItemCtrl:OnDisable()
self.bActive = false
end
function SoldierRecommendCharItemCtrl:OnDestroy()
SoldierCharCardItemCtrl.OnDestroy(self)
self._mapSpritePath = nil
self._imgAttribute = nil
self._objClickCallback = nil
self._fnClickCallback = nil
end
function SoldierRecommendCharItemCtrl:SetRecommendData(mapCharData, nPosition)
self._nRecommendPosition = nPosition
if mapCharData == nil or mapCharData.nId == nil or mapCharData.nId == 0 then
self._nRecommendPosition = nil
SoldierCharCardItemCtrl.SetItemData(self, nil)
self.nCharId = nil
self.bInSandland = false
self._nRecommendStar = 0
self:SetStar(0)
self._nRecommendPosition = nil
SetActiveIfChanged(self._mapNode.goChar, false)
SetActiveIfChanged(self._mapNode.imgEmpty, true)
self:SetAttribute(nil)
self._mapNode.imgRecommend.gameObject:SetActive(false)
self:SetLock(false)
self:SetClickCallback(nil, nil)
return
end
self._nRecommendStar = mapCharData.nStar or 0
SetActiveIfChanged(self._mapNode.imgEmpty, false)
SetActiveIfChanged(self._mapNode.goChar, true)
if self.nCharId ~= mapCharData.nId then
SoldierCharCardItemCtrl.SetItemData(self, mapCharData.nId)
else
self:SetStar(self._nRecommendStar)
self.nCharId = mapCharData.nId
self:SetCharConfig(mapCharData.nId)
end
self:SetStar(mapCharData.nStar or 0)
self._nRecommendPosition = nPosition
self:SetAttribute(nPosition)
end
function SoldierRecommendCharItemCtrl:SetCharConfig(nCharId)
local mapCharConfig = ConfigTable.GetData("SoldierCharacter", nCharId)
if mapCharConfig == nil then
return
end
if mapCharConfig.Rarity ~= nil then
self:SetPngSprite(self._mapNode.imageRarity, "Icon/SoldierOtherIcon/" .. AllEnum.SoldierChessRarityIcon[mapCharConfig.Rarity] .. AllEnum.SoldierChessIconSurfix.M)
end
local mapSkinConfig = ConfigTable.GetData("SoldierSkin", mapCharConfig.Skin)
if mapSkinConfig ~= nil then
self:SetPngSprite(self._mapNode.imageIcon, mapSkinConfig.Icon .. AllEnum.SoldierChessIconSurfix.M)
end
if mapCharConfig.Type ~= nil then
local mapChessType = CacheTable.GetData("_SoldierChessType", mapCharConfig.Type)
local sIcon = mapChessType ~= nil and mapChessType.Icon or ""
self:SetPngSprite(self._mapNode.img_Position, "Icon/SoldierOtherIcon/" .. sIcon)
end
end
function SoldierRecommendCharItemCtrl:SetStar(nStar)
nStar = self._nRecommendStar or nStar or 0
if self.nStar == nStar then
return
end
self.nStar = nStar
for nIndex = 1, self.MAX_STAR do
local bActive = nIndex <= nStar
for nIndex = 1, MAX_STAR do
local goStar = self._mapNode.Star[nIndex]
local goFxStar = self._mapNode.FxStar[nIndex]
if goStar ~= nil and goStar.activeSelf ~= bActive then
goStar:SetActive(bActive)
end
if goFxStar ~= nil and goFxStar.activeSelf ~= bActive then
goFxStar:SetActive(bActive)
if goStar ~= nil then
SetActiveIfChanged(goStar, nIndex <= nStar)
end
end
end
function SoldierRecommendCharItemCtrl:SetAttribute(nPosition)
local imgAttribute = self._imgAttribute
if imgAttribute == nil then
return
end
local bUnlock = false
local sIcon
if nPosition ~= nil and 1 <= nPosition and nPosition <= 3 then
@@ -69,14 +106,20 @@ function SoldierRecommendCharItemCtrl:SetAttribute(nPosition)
sIcon = "Icon/SoldierOtherIcon/" .. mapConfig.Icon
end
end
local imgAttribute = self._mapNode.imgAttribute
if imgAttribute.gameObject.activeSelf ~= bUnlock then
imgAttribute.gameObject:SetActive(bUnlock)
end
SetActiveIfChanged(imgAttribute.gameObject, bUnlock)
if bUnlock then
self:SetPngSprite(imgAttribute, sIcon)
end
end
function SoldierRecommendCharItemCtrl:SetClickCallback(obj, fn)
self._objClickCallback = obj
self._fnClickCallback = fn
end
function SoldierRecommendCharItemCtrl:OnBtnItemClick()
if self._fnClickCallback ~= nil and self.nCharId ~= nil then
self._fnClickCallback(self._objClickCallback, self.nCharId)
end
end
function SoldierRecommendCharItemCtrl:SetPngSprite(imgObj, sPath, sSurfix)
if sSurfix ~= nil then
return BaseCtrl.SetPngSprite(self, imgObj, sPath, sSurfix)
@@ -1,5 +1,6 @@
local SoldierRecommendCtrl = class("SoldierRecommendCtrl", BaseCtrl)
local SDKManager = CS.SDKManager.Instance
local HIDE_CELL_POS_Y = 100000
SoldierRecommendCtrl._mapNodeConfig = {
Topbar = {
sNodeName = "TopBarPanel",
@@ -106,25 +107,40 @@ function SoldierRecommendCtrl:Awake()
end
function SoldierRecommendCtrl:OnEnable()
self._bListActive = true
self._bWaitingEnterAnim = true
self:SetListInputBlocked(true)
self._mapNode.btnHome.gameObject:SetActive(not self.bInSoldier)
self:RefreshListHeader()
local canvas = self.gameObject:GetComponent("Canvas")
NovaAPI.SetCanvasSortingOrder(canvas, self._nSortingOrder + 1)
local bNewCache = self._tbListCache == nil
if bNewCache then
self.tbRecommendCellCtrl = {}
self.tbRecommendData = {}
self._tbListCache = {}
self._tbCellPool = {}
self._tbSlotIndex = {}
self._nPoolSize = nil
self._nVisibleListState = nil
end
local svList = self._mapNode.sv_recommend
self._svRecommend = svList
self._goRecommendTemplate = svList.transform:Find("grid").gameObject
self._goRecommendTemplate:SetActive(false)
self._rtRecommendContent = svList.content
self._objRecommendLayout = self._rtRecommendContent:GetComponent("GridLayoutGroup")
self._objRecommendLayout.enabled = false
local objLayout = self._objRecommendLayout
self._v2CellSize = objLayout.cellSize
self._nCellLeft = objLayout.padding.left
self._nCellTop = objLayout.padding.top
self._nCellBottom = objLayout.padding.bottom
self._nCellSpacing = objLayout.spacing.y
self._nCellStep = self._v2CellSize.y + self._nCellSpacing
if not self._bScrollListening then
self._fnOnListScroll = self._fnOnListScroll or function()
self:OnListScroll()
end
svList.onValueChanged:AddListener(self._fnOnListScroll)
self._bScrollListening = true
end
local objFitter = self._rtRecommendContent:GetComponent("ContentSizeFitter")
if objFitter ~= nil then
objFitter.enabled = false
@@ -132,9 +148,6 @@ function SoldierRecommendCtrl:OnEnable()
self._rtRecommendContent.pivot = Vector2(0, 1)
self._rtRecommendContent.anchorMin = Vector2(0, 1)
self._rtRecommendContent.anchorMax = Vector2(1, 1)
self._rtRecommendContent.gameObject:SetActive(false)
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_Loading"))
self._mapNode.rtEmpty.gameObject:SetActive(true)
EventManager.Hit("SoldierRecommendPanel_Open")
self._mapNode.goImport:SetActive(false)
local tbListCache = self._tbListCache
@@ -145,28 +158,10 @@ function SoldierRecommendCtrl:OnEnable()
end
end)
end
if tbListCache[1] ~= nil and tbListCache[1].bLoaded and tbListCache[2] ~= nil and tbListCache[2].bLoaded then
self:ShowRecommendList()
end
local wait = function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
if not self._bListActive then
return
end
while self._bListActive and self.animator ~= nil and self.animator.isActiveAndEnabled do
local objState = self.animator:GetCurrentAnimatorStateInfo(0)
if not objState:IsName("SoldierRecommendPanel_in") or objState.normalizedTime >= 1 then
break
end
coroutine.yield(nil)
end
if not self._bListActive then
return
end
self._bWaitingEnterAnim = false
self:RefreshRecommendList()
end
self._coOpenList = cs_coroutine.start(wait)
self:RefreshRecommendList()
self:AddTimer(1, 0, function()
self:OnListScroll()
end, true, true, true)
end
function SoldierRecommendCtrl:OnPreExit()
if self._bListActive and self._nVisibleListState ~= nil then
@@ -175,25 +170,11 @@ function SoldierRecommendCtrl:OnPreExit()
mapCache.v2Size = self._rtRecommendContent.sizeDelta
end
self._bListActive = false
self._bWaitingEnterAnim = false
if self._coOpenList ~= nil then
cs_coroutine.stop(self._coOpenList)
self._coOpenList = nil
end
self:StopListLoading()
self:SetListInputBlocked(false)
end
function SoldierRecommendCtrl:SetListInputBlocked(bBlocked)
if self._bListInputBlocked == true == bBlocked then
return
end
self._bListInputBlocked = bBlocked
EventManager.Hit(EventId.BlockInput, bBlocked)
end
function SoldierRecommendCtrl:StopListLoading()
if self._coLoadList ~= nil then
cs_coroutine.stop(self._coLoadList)
self._coLoadList = nil
if self._bScrollListening then
self._bScrollListening = false
if self._svRecommend ~= nil and not self._svRecommend:IsNull() then
self._svRecommend.onValueChanged:RemoveListener(self._fnOnListScroll)
end
end
end
function SoldierRecommendCtrl:OnDisable()
@@ -207,8 +188,11 @@ end
function SoldierRecommendCtrl:ClearListCache()
self._tbListCache = nil
self._nVisibleListState = nil
self.tbRecommendCellCtrl = nil
self._tbCellPool = nil
self._tbSlotIndex = nil
self._nPoolSize = nil
self.tbRecommendData = nil
self._svRecommend = nil
self._goRecommendTemplate = nil
self._rtRecommendContent = nil
self._objRecommendLayout = nil
@@ -232,102 +216,129 @@ function SoldierRecommendCtrl:RefreshRecommendList()
return
end
self:RefreshListHeader()
if self._bWaitingEnterAnim then
return
end
local tbSources = {
PlayerData.SoldierData:GetSystemRecommendList(),
PlayerData.SoldierData:GetCollectRecommendList()
}
local tbPending = {}
local mapPrevious = self._tbListCache[self._nVisibleListState]
if mapPrevious ~= nil then
mapPrevious.v2Position = self._rtRecommendContent.anchoredPosition
end
local bChanged = false
for nState = 1, 2 do
local mapCache = self._tbListCache[nState]
if mapCache == nil then
mapCache = {
tbCellCtrl = {},
tbData = {}
}
self._tbListCache[nState] = mapCache
end
if not mapCache.bLoaded or mapCache.tbSource ~= tbSources[nState] then
table.insert(tbPending, nState)
self:LoadRecommendList(mapCache, tbSources[nState])
bChanged = true
end
end
if #tbPending == 0 and self._nVisibleListState == self.nListState then
self:SetListInputBlocked(false)
if not bChanged and self._nVisibleListState == self.nListState then
return
end
self:StopListLoading()
self._mapNode.sv_recommend:StopMovement()
local mapPrevious = self._tbListCache[self._nVisibleListState]
if mapPrevious ~= nil then
mapPrevious.v2Position = self._rtRecommendContent.anchoredPosition
mapPrevious.v2Size = self._rtRecommendContent.sizeDelta
end
self._rtRecommendContent.gameObject:SetActive(false)
if #tbPending == 0 then
self:ShowRecommendList()
self:SetListInputBlocked(false)
return
end
self:SetListInputBlocked(true)
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_Loading"))
self._mapNode.rtEmpty.gameObject:SetActive(true)
self._coLoadList = cs_coroutine.start(function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
coroutine.yield(nil)
if not self._bListActive then
self:SetListInputBlocked(false)
return
end
local bSuccess, sError = pcall(function()
for _, nState in ipairs(tbPending) do
self:LoadRecommendList(self._tbListCache[nState], tbSources[nState])
end
self:ShowRecommendList()
end)
self._coLoadList = nil
self:SetListInputBlocked(false)
if not bSuccess then
printError(sError)
end
end)
self._svRecommend:StopMovement()
self:ShowRecommendList()
end
function SoldierRecommendCtrl:ShowRecommendList()
local mapCache = self._tbListCache[self.nListState]
for nState, mapTabCache in pairs(self._tbListCache) do
for nIndex, objCell in ipairs(mapTabCache.tbCellCtrl) do
local bActive = nState == self.nListState and nIndex <= #mapTabCache.tbData
if objCell.gameObject.activeSelf ~= bActive then
objCell.gameObject:SetActive(bActive)
end
end
end
self._nVisibleListState = self.nListState
self.tbRecommendCellCtrl = mapCache.tbCellCtrl
self.tbRecommendData = mapCache.tbData
self._rtRecommendContent.sizeDelta = mapCache.v2Size
self._rtRecommendContent.anchoredPosition = mapCache.v2Position
local bHasData = #mapCache.tbData > 0
self._rtRecommendContent.gameObject:SetActive(bHasData)
if not mapCache.bAnimationReady then
for nIndex = 1, #mapCache.tbData do
local objAnimator = mapCache.tbCellCtrl[nIndex].gameObject:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = true
objAnimator:Play("go", 0, 1)
objAnimator:Update(0)
objAnimator.enabled = false
if self._rtRecommendContent.gameObject.activeSelf ~= bHasData then
self._rtRecommendContent.gameObject:SetActive(bHasData)
end
self:RefreshVisibleCells(true)
self._mapNode.rtEmpty.gameObject:SetActive(not bHasData)
end
function SoldierRecommendCtrl:OnListScroll()
if not self._bListActive or self._nVisibleListState == nil then
return
end
self:RefreshVisibleCells(false)
end
function SoldierRecommendCtrl:GetCellPosition(nIndex)
return Vector2(self._nCellLeft, -self._nCellTop - (nIndex - 1) * self._nCellStep)
end
function SoldierRecommendCtrl:CreateRecommendCell()
local goItem = instantiate(self._goRecommendTemplate, self._rtRecommendContent)
local rtItem = goItem:GetComponent("RectTransform")
rtItem.pivot = Vector2(0, 1)
rtItem.anchorMin = Vector2(0, 1)
rtItem.anchorMax = Vector2(0, 1)
rtItem.localScale = Vector3.one
rtItem.sizeDelta = self._v2CellSize
goItem:SetActive(true)
local objCell = self._panel:BindRecommendCtrl(goItem, "Game.UI.Soldier.Recommend.SoldierRecommendCellCtrl")
objCell._rtCell = rtItem
objCell._nBindIndex = nil
objCell._bAnimationReady = false
return objCell
end
function SoldierRecommendCtrl:PrepareCellAnimator(objCell)
if objCell._bAnimationReady or not objCell.gameObject.activeInHierarchy then
return
end
local objAnimator = objCell.gameObject:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator.enabled = true
objAnimator:Play("go", 0, 1)
objAnimator:Update(0)
objAnimator.enabled = false
end
objCell._bAnimationReady = true
end
function SoldierRecommendCtrl:RefreshVisibleCells(bForce)
local tbData = self.tbRecommendData
local nCount = #tbData
local rtViewport = self._svRecommend.viewport or self._svRecommend:GetComponent("RectTransform")
local nPoolSize = math.max(1, math.ceil(rtViewport.rect.height / self._nCellStep)) + 2
if self._nPoolSize == nil or nPoolSize > self._nPoolSize then
self._nPoolSize = nPoolSize
bForce = true
else
nPoolSize = self._nPoolSize
end
local nFirst = math.floor((self._rtRecommendContent.anchoredPosition.y - self._nCellTop) / self._nCellStep) + 1
nFirst = math.max(1, math.min(nFirst, nCount - nPoolSize + 1))
local nLast = math.min(nCount, nFirst + nPoolSize - 1)
local tbSlotIndex = self._tbSlotIndex
for nSlot = 1, nPoolSize do
tbSlotIndex[nSlot] = nil
end
for nIndex = nFirst, nLast do
tbSlotIndex[(nIndex - 1) % nPoolSize + 1] = nIndex
end
for nSlot = 1, nPoolSize do
local nIndex = tbSlotIndex[nSlot]
local objCell = self._tbCellPool[nSlot]
if objCell == nil and nIndex ~= nil then
objCell = self:CreateRecommendCell()
self._tbCellPool[nSlot] = objCell
end
if objCell ~= nil and (bForce or objCell._nBindIndex ~= nIndex) then
objCell._nBindIndex = nIndex
if nIndex ~= nil then
objCell:SetDetailCallback(self, nIndex)
objCell:SetItemData(tbData[nIndex], self.bInSoldier)
objCell._rtCell.anchoredPosition = self:GetCellPosition(nIndex)
else
objCell._rtCell.anchoredPosition = Vector2(self._nCellLeft, HIDE_CELL_POS_Y)
end
end
mapCache.bAnimationReady = true
if objCell ~= nil then
self:PrepareCellAnimator(objCell)
end
end
NovaAPI.SetTMPText(self._mapNode.txtNoRcmd, ConfigTable.GetUIText("Soldier_Recommend_NoRcmd"))
self._mapNode.rtEmpty.gameObject:SetActive(not bHasData)
end
function SoldierRecommendCtrl:LoadRecommendList(mapCache, tbSource)
mapCache.bLoaded = false
mapCache.bAnimationReady = false
mapCache.tbData = {}
for _, mapData in ipairs(tbSource or {}) do
table.insert(mapCache.tbData, mapData)
@@ -347,29 +358,8 @@ function SoldierRecommendCtrl:LoadRecommendList(mapCache, tbSource)
return mapFirst.nRecommendId < mapSecond.nRecommendId
end)
end
local objLayout = self._objRecommendLayout
local v2CellSize = objLayout.cellSize
local nSpacing = objLayout.spacing.y
local nTop = objLayout.padding.top
for nIndex, mapData in ipairs(mapCache.tbData) do
local objCell = mapCache.tbCellCtrl[nIndex]
if objCell == nil then
local goItem = instantiate(self._goRecommendTemplate, self._rtRecommendContent)
local rtItem = goItem:GetComponent("RectTransform")
rtItem.pivot = Vector2(0, 1)
rtItem.anchorMin = Vector2(0, 1)
rtItem.anchorMax = Vector2(0, 1)
rtItem.localScale = Vector3.one
rtItem.sizeDelta = v2CellSize
rtItem.anchoredPosition = Vector2(objLayout.padding.left, -nTop - (nIndex - 1) * (v2CellSize.y + nSpacing))
objCell = self._panel:BindRecommendCtrl(goItem, "Game.UI.Soldier.Recommend.SoldierRecommendCellCtrl")
mapCache.tbCellCtrl[nIndex] = objCell
objCell:SetDetailCallback(self, nIndex)
end
objCell:SetItemData(mapData, self.bInSoldier)
end
local nCount = #mapCache.tbData
mapCache.v2Size = Vector2(0, nTop + nCount * v2CellSize.y + math.max(0, nCount - 1) * nSpacing + objLayout.padding.bottom)
mapCache.v2Size = Vector2(0, self._nCellTop + nCount * self._v2CellSize.y + math.max(0, nCount - 1) * self._nCellSpacing + self._nCellBottom)
mapCache.v2Position = Vector2.zero
mapCache.tbSource = tbSource
mapCache.bLoaded = true
@@ -14,7 +14,7 @@ SoldierRecommendDetailCtrl._mapNodeConfig = {
},
MainChar = {
nCount = 3,
sCtrlName = "Game.UI.Soldier.Template.Character.SoldierCharSupportCardItemCtrl"
sCtrlName = "Game.UI.Soldier.Recommend.SoldierRecommendCharItemCtrl"
},
sv_backChar = {
sComponentName = "LoopScrollView"
@@ -191,25 +191,17 @@ function SoldierRecommendDetailCtrl:OnBackCharRefreshGrid(goGrid, nGridIndex)
local nInstanceId = goGrid:GetInstanceID()
local objCharCard = self.mapBackCharCtrl[nInstanceId]
if objCharCard == nil then
objCharCard = self:BindCtrlByNode(goGrid, "Game.UI.Soldier.Template.Character.SoldierCharSupportCardItemCtrl")
objCharCard = self:BindCtrlByNode(goGrid, "Game.UI.Soldier.Recommend.SoldierRecommendCharItemCtrl")
self.mapBackCharCtrl[nInstanceId] = objCharCard
end
self:RefreshCharCard(objCharCard, self.tbBackCharData[nIndex])
end
function SoldierRecommendDetailCtrl:RefreshCharCard(objCharCard, mapCharData)
objCharCard:_RemoveAllTimer()
objCharCard.nStar = nil
objCharCard:SetRecommendData(mapCharData, nil)
if mapCharData == nil or mapCharData.nId == nil or mapCharData.nId == 0 then
objCharCard:SetItemData(nil)
objCharCard:SetStar(0)
objCharCard:SetChessPosition(nil)
objCharCard._mapNode.Fx_warrior.gameObject:SetActive(false)
objCharCard:SetClickCallback(nil, nil)
return
end
objCharCard:SetItemData(mapCharData.nId)
objCharCard:SetStar(mapCharData.nStar)
objCharCard.nStar = mapCharData.nStar or 0
objCharCard:SetClickCallback(self, function()
local mapChessData = {
nId = mapCharData.nId,
@@ -341,6 +341,7 @@ end
function StarTowerAutoDecisionSettingCtrl:Awake()
self._mapNode.imgBlurredBg:SetActive(false)
self._mapNode.goContentAnim:SetActive(false)
self:RefreshPresetBase()
end
function StarTowerAutoDecisionSettingCtrl:OnEnable()
self._bSettingActive = true
@@ -368,7 +369,6 @@ function StarTowerAutoDecisionSettingCtrl:OnEnable()
self:ShowPhoneTime()
self:RefreshTokenValue()
self:RefreshPresetList()
self:RefreshPresetBase()
self:RefreshPresetDetail()
self:CacheOriginalServerProject()
end
+6 -1
View File
@@ -332,7 +332,12 @@ function TopBarCtrl:OnBtnClick_Home()
if self.bEvent == true then
EventManager.Hit(EventId.UIHomeConfirm, self._panel._nPanelId)
else
PanelManager.Home()
local ModuleManager = require("GameCore.Module.ModuleManager")
if ModuleManager.GetCurModuleName() == "DormModuleScene" then
PlayerData.Base:GoHomeFromCurModule()
else
PanelManager.Home()
end
end
end
function TopBarCtrl:OnBtnClick_Help()
+3 -2
View File
@@ -127,8 +127,9 @@ function TraceHuntPauseCtrl:Awake()
end
function TraceHuntPauseCtrl:OnDisable()
end
function TraceHuntPauseCtrl:Pause(nLevelId, tbCharId, bSelfBoss)
function TraceHuntPauseCtrl:Pause(nLevelId, tbCharId, bSelfBoss, mapCharTrialId)
self.tbChar = tbCharId
self._mapCharTrialId = mapCharTrialId
self.nLevelId = nLevelId
self.bSelfBoss = bSelfBoss
EventManager.Hit(EventId.BattleDashboardVisible, false)
@@ -235,7 +236,7 @@ function TraceHuntPauseCtrl:OnBtnClick_Settings(btn)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TraceHuntPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TraceHuntPauseCtrl:OnEvent_Reopen(sName)
@@ -239,7 +239,7 @@ end
function TDPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function TDPauseCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function TDPauseCtrl:OnBtnClick_Settings(btn)
@@ -217,7 +217,8 @@ function DepotCharInfoCtrl:OnBtnClick_Char(btn, nIndex)
self:SwitchChar()
end
function DepotCharInfoCtrl:OnBtnClick_Skill(btn)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbTeam, false, {}, {}, self.nCharId)
local mapCharData = self._panel._bTrialBuild and self.mapCharData or {}
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbTeam, false, {}, mapCharData, self.nCharId)
end
function DepotCharInfoCtrl:OnBtnClick_Detail()
local HealthInfo = self.tbActorHealthInfo[self.nCharId]
@@ -245,7 +245,7 @@ function VampireSurvivorPauseCtrl:OnBtnClick_Char(btn, nIndex)
end
function VampireSurvivorPauseCtrl:OnBtnClick_Skill(btn)
local mapCharData = self._panel._bTrialBuild and self._panel.mapCharData or nil
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, nil, mapCharData)
EventManager.Hit(EventId.OpenPanel, PanelId.PopupSkillPanel, self.tbChar, false, self._mapCharTrialId or {}, mapCharData)
self._mapNode.ActionBar.gameObject:SetActive(false)
end
function VampireSurvivorPauseCtrl:OnBtnClick_Settings(btn)
+1 -1
View File
@@ -1094,7 +1094,7 @@ function AvgData:SendMsg_STORY_DONE(callBack, tbBattleEvents)
if self.tbLastEndStoryIds ~= nil then
for _, nLastEndStoryId in ipairs(self.tbLastEndStoryIds) do
local mapLastEndStoryCfg = ConfigTable.GetData_Story(nLastEndStoryId)
if mapLastEndStoryCfg ~= nil and 0 < table.indexof(self.tbTempStoryIds, mapLastEndStoryCfg.StoryId) then
if mapLastEndStoryCfg ~= nil then
self:SetLastEndState(nLastEndStoryId)
end
end
@@ -855,6 +855,10 @@ function PlayerBuildData:SyncLimitedTrialBuildCache()
end
self:RefreshLimitedTrialBuildCache(tbTrialBuildId)
end
function PlayerBuildData:GetLimitedTrialBuild(nBuildId)
self:SyncLimitedTrialBuildCache()
return self._MapLimitedTrialBuildData[nBuildId]
end
function PlayerBuildData:GetActiveLimitedTrialBuilds(nType, bIncludeUnsupported)
local tbRet = {}
local mapRet = {}
@@ -738,6 +738,12 @@ function PlayerCharData:GetLimitedTrialCharSkillAddedLevel(nTrialId)
end
return tbSkillLevel
end
function PlayerCharData:GetAnyTrialCharSkillAddedLevel(nTrialId)
if self._mapLimitedTrialChar[nTrialId] ~= nil then
return self:GetLimitedTrialCharSkillAddedLevel(nTrialId)
end
return self:GetTrialCharSkillAddedLevel(nTrialId)
end
function PlayerCharData:GetCharPlotDataById(charId)
return CacheTable.GetData("_Plot", charId)
end
+2 -1
View File
@@ -1371,7 +1371,8 @@ local BindProcessFunction = function()
[NetMsgId.Id.clear_all_activity_mathParkour_levels_notify] = HttpNetHandlerPlus.clear_all_activity_mathParkour_levels_notify,
[NetMsgId.Id.activity_mail_bind_reward_receive_succeed_ack] = HttpNetHandlerPlus.activity_mail_bind_reward_receive_succeed_ack,
[NetMsgId.Id.activity_mail_bind_reward_receive_failed_ack] = NOTHING_NEED_TO_BE_DONE,
[NetMsgId.Id.handbook_complete_notify] = HttpNetHandlerPlus.handbook_complete_notify
[NetMsgId.Id.handbook_complete_notify] = HttpNetHandlerPlus.handbook_complete_notify,
[NetMsgId.Id.guide_mission_state_notify] = HttpNetHandlerPlus.guide_mission_state_notify
}
end
function HttpNetHandler.Init()
@@ -483,4 +483,7 @@ function HttpNetHandlerPlus.handbook_complete_notify(mapMsgData)
PlayerData.Handbook:UpdateHandbook(v)
end
end
function HttpNetHandlerPlus.guide_mission_state_notify(mapMsgData)
RedDotManager.SetValid(RedDotDefine.GuideMission_Server, nil, mapMsgData.New)
end
return HttpNetHandlerPlus