Update - 2.1.0.147

EN: 2.1.0.147
CN: 2.1.0.147
JP: 2.1.0.149
KR: 2.1.0.154
This commit is contained in:
SL1900
2026-11-13 12:00:00 +09:00
parent c84dd6f891
commit da1d2be9fc
822 changed files with 1752348 additions and 1554 deletions
@@ -30,6 +30,8 @@ function ActivityLevelsLvCtrl:InitData(parent, nType, activityData, data, isOpen
self._mapNode.rtLockInfoDay.gameObject:SetActive(false)
self.isShowTexLv = false
self.isOpen = isOpen
local selectDb = self._mapNode.Select.transform:Find("imgDb").gameObject
local unSelectDb = self._mapNode.unSelect.transform:Find("imgDb").gameObject
if isOpen and isLevelUnLock then
self.isShowTexLv = true
self._mapNode.rt_Targets:SetActive(true)
@@ -73,6 +75,8 @@ function ActivityLevelsLvCtrl:InitData(parent, nType, activityData, data, isOpen
end
self.lvLock = true
end
selectDb:SetActive(not self.lvLock)
unSelectDb:SetActive(not self.lvLock)
local strTitle = ""
if nType == GameEnum.ActivityLevelType.Explore then
strTitle = orderedFormat(lvIndexTitle, 1, data.baseData.Difficulty)
@@ -130,11 +134,12 @@ function ActivityLevelsLvCtrl:SetDefault(isOn)
NovaAPI.SetImageColor(self._mapNode.rtLockInfoDay, colorLockUnSelectImage)
NovaAPI.SetImageColor(self._mapNode.rtLockPreLvSelect, colorLockUnSelectImage)
end
if not self.isOpen then
self._mapNode.imgLockMask:SetActive(not isOn)
end
if isOn then
self._mapNode.SelectAni:Play("Select_idle")
if self.isOpen then
self._mapNode.SelectAni:Play("Select_idle")
else
self._mapNode.SelectAni:Play("Select_idle_lock")
end
else
self._mapNode.SelectAni.enabled = false
self._mapNode.SelectAni.enabled = true
@@ -19,8 +19,8 @@ local colorUnSelectLock = Color(0.4823529411764706, 0.5333333333333333, 0.650980
local timeUnLockColor = "fff7ca"
local colorLockSelectImage = Color(0.984313725490196, 0.9333333333333333, 0.8784313725490196, 1)
local colorLockUnSelectImage = Color(0.24705882352941178, 0.19215686274509805, 0.19215686274509805, 1)
local colorConditionsUnLock = Color(0.6509803921568628, 0.5647058823529412, 0.5647058823529412, 1)
local colorConditionsLock = Color(0.6509803921568628, 0.5647058823529412, 0.5647058823529412, 1)
local colorConditionsUnLock = Color(0.9607843137254902, 0.9137254901960784, 0.8156862745098039, 1)
local colorConditionsLock = Color(0.9607843137254902, 0.9137254901960784, 0.8156862745098039, 1)
local lvIndexTitle = "{0}-{1}"
local twelveLvGroupPadding = {
44,
@@ -148,11 +148,20 @@ function ActivityUnchartedMapCtrl:OnBtnClick_Go()
if actGroupCfg ~= nil and actGroupCfg ~= nil and actGroupCfg.PanelId ~= nil and actGroupCfg.PanelId > 0 then
if actGroupCfg.TransitionId ~= nil and 0 < actGroupCfg.TransitionId then
local callback = function()
EventManager.Hit(EventId.OpenPanel, actGroupCfg.PanelId, actGroupCfg.Id, true)
EventManager.Hit(EventId.OpenPanel, actGroupCfg.PanelId, actGroupCfg.Id, true, true)
end
EventManager.Hit(EventId.SetTransition, actGroupCfg.TransitionId, callback)
else
EventManager.Hit(EventId.OpenPanel, actGroupCfg.PanelId, actGroupCfg.Id, true)
self.animRoot = self.gameObject:GetComponent("Animator")
if self.animRoot ~= null then
self.animRoot:Play("Entrance_out", 0, 0)
local OutAnimFinish = function()
EventManager.Hit(EventId.OpenPanel, actGroupCfg.PanelId, actGroupCfg.Id, true, true)
end
self:SetAnimationCallback(self.animRoot, OutAnimFinish)
else
EventManager.Hit(EventId.OpenPanel, actGroupCfg.PanelId, actGroupCfg.Id, true, true)
end
end
end
end
@@ -90,11 +90,16 @@ function UnchartedMapStoryCtrl:RefreshStoryList()
self._bInit = true
end, true, true, true)
end
local v2OddPos = Vector2(0, 20.7)
local v2EvenPos = Vector2(0, 111)
function UnchartedMapStoryCtrl:OnRefreshGrid(goGrid, nIndex)
local trNormal = goGrid.transform:Find("Normal")
trNormal.gameObject:SetActive(true)
local nGridIndex = nIndex + 1
local bOdd = nGridIndex % 2 ~= 0
local trpivot = goGrid.transform:Find("pivot")
trpivot.gameObject:SetActive(true)
trpivot.anchoredPosition = bOdd and v2OddPos or v2EvenPos
goGrid.transform:Find("Branch").gameObject:SetActive(false)
self:RefreshGridInfo(trNormal.gameObject, nIndex + 1)
self:RefreshGridInfo(trpivot.transform:Find("Normal").gameObject, nIndex + 1)
end
function UnchartedMapStoryCtrl:RefreshGridInfo(goGrid, nIndex)
local nStoryId = self._tbAllStory[nIndex]
@@ -123,22 +128,25 @@ function UnchartedMapStoryCtrl:RefreshGridInfo(goGrid, nIndex)
local bRead = self._objStoryData:IsStoryReaded(nStoryId)
local bOpen, nOpenTime = self._objStoryData:IsOpen(mapStoryCfg.StoryId, self._nActId)
local bAvailable = bOpen and bUnlock
self:SetPngSprite(imgStory, bAvailable and mapStoryCfg.Icon or "Icon/ActivityStory/ep_event_13_00")
self:SetPngSprite(imgStory, bAvailable and mapStoryCfg.Icon or "Icon/ActivityStory/ep_event13_00")
NovaAPI.SetTMPText(txtIndex, mapStoryCfg.Index)
NovaAPI.SetTMPText(txtTitle, mapStoryCfg.Title)
NovaAPI.SetTMPText(txtComplete, ConfigTable.GetUIText("RoguelikeBuild_Manage_FilterPass"))
NovaAPI.SetTMPText(trStoryTitle:Find("txtPlot"):GetComponent("TMP_Text"), ConfigTable.GetUIText("Story_StoryTitle"))
NovaAPI.SetTMPText(trBattleTitle:Find("txtPlot"):GetComponent("TMP_Text"), ConfigTable.GetUIText("Story_BattleTitle"))
trStoryTitle.gameObject:SetActive(bAvailable and not mapStoryCfg.IsBattle)
trBattleTitle.gameObject:SetActive(bAvailable and mapStoryCfg.IsBattle)
trStoryTitle.gameObject:SetActive(not mapStoryCfg.IsBattle)
trBattleTitle.gameObject:SetActive(mapStoryCfg.IsBattle)
trRoot:Find("goNotOpen").gameObject:SetActive(not bOpen)
trRoot:Find("goLockState").gameObject:SetActive(bOpen and not bUnlock)
trTextRoot:Find("goLocktxtState").gameObject:SetActive(bOpen and not bUnlock)
trTitle.gameObject:SetActive(bAvailable)
trTitle.gameObject:SetActive(bOpen)
trComplete.gameObject:SetActive(bAvailable and bRead)
trTime.gameObject:SetActive(not bOpen)
txtTitle.gameObject:SetActive(bAvailable)
if bRead then
animNormal:Play("svStory_idle", 0, 0)
animNormal:Play("svStory_in_read", 0, 0)
else
animNormal:Play("svStory_in", 0, 0)
end
if not bOpen then
NovaAPI.SetTMPText(txtTime, self:GetRemainTimeStr(nOpenTime, mapStoryCfg.DayOpen))
@@ -168,10 +176,6 @@ function UnchartedMapStoryCtrl:RefreshGridInfo(goGrid, nIndex)
btnGrid.onClick:AddListener(function()
self:OnClickStory(nStoryId)
end)
local objAnimator = goGrid:GetComponent("Animator")
if objAnimator ~= nil then
objAnimator:Play(bAvailable and "svStory_in" or "svStoryNotOpen_in")
end
end
function UnchartedMapStoryCtrl:OnClickStory(nStoryId)
if self._bCantClick then
@@ -3,6 +3,7 @@ local UnchartedMapCtrl = class("UnchartedMapCtrl", BaseCtrl)
local ClientManager = CS.ClientManager.Instance
local TimerManager = require("GameCore.Timer.TimerManager")
local LocalData = require("GameCore.Data.LocalData")
local WwiseAudioMgr = CS.WwiseAudioManager.Instance
UnchartedMapCtrl._mapNodeConfig = {
goBg = {sNodeName = "---Bg---"},
TopBar = {
@@ -81,6 +82,7 @@ UnchartedMapCtrl._mapNodeConfig = {
imgStoryActivityUnlockTime = {},
txtStoryActivityUnlockTime = {sComponentName = "TMP_Text"},
imgStoryEnd = {},
dbStoryEnd = {},
txtShopEndState = {
sComponentName = "TMP_Text",
sLanguageId = "Activity_End"
@@ -118,6 +120,8 @@ UnchartedMapCtrl._mapNodeConfig = {
imgLevelEnd = {},
imgLevelActivityTime = {},
txtLevelActivityTime = {sComponentName = "TMP_Text"},
dbBattleEnd = {},
dbBattleEnd2 = {},
miniGameRedDot = {},
redDotEntrance2 = {},
storyRedDot = {},
@@ -133,6 +137,10 @@ function UnchartedMapCtrl:Awake()
local param = self:GetPanelParam()
if type(param) == "table" then
self.nActId = param[1]
self.bFromActList = param[3]
if self.bFromActList == nil then
self.bFromActList = false
end
end
self.ActData = PlayerData.Activity:GetActivityGroupDataById(self.nActId)
if self.ActData ~= nil then
@@ -142,20 +150,36 @@ end
function UnchartedMapCtrl:OnEnable()
self:RefreshPanel()
self:RegisterReddot()
self:SetEnterState()
end
function UnchartedMapCtrl:SetEnterState()
local sAnimName = "LongestDayPanel_Full"
local sAudioName = "Mode_10112_activity"
local sAnimName = "UnchartedMapPanel_in"
local sAudioName = "Mode_10113_activity"
if self.bFirstEnter then
sAnimName = "LongestDayPanel_Pullback"
sAudioName = "Mode_10112_activity_01"
sAnimName = "UnchartedMapPanel_in1"
sAudioName = "Mode_10113_activity_1"
end
self.bFirstEnter = true
self.animRoot = self.gameObject:GetComponent("Animator")
local nAnimLength = NovaAPI.GetAnimClipLength(self.animRoot, {sAnimName})
self.animRoot:Play(sAnimName, 0, 0)
WwiseAudioMgr:PostEvent(sAudioName)
if self.bFromActList and sAudioName == "Mode_10113_activity" then
else
WwiseAudioMgr:PostEvent(sAudioName)
end
EventManager.Hit(EventId.TemporaryBlockInput, nAnimLength)
for k, v in pairs(self._mapNode.btnEntrance_) do
local anim = v.transform:GetChild(0):GetComponent("Animator")
if anim ~= nil and anim:IsNull() == false and (k == AllEnum.ActivityThemeFuncIndex.Level or k == AllEnum.ActivityThemeFuncIndex.Task or k == AllEnum.ActivityThemeFuncIndex.Story) then
local actData = self.ActData:GetActivityDataByIndex(k)
local state = self.ActData:GetActivityEntranceState(actData.ActivityId)
if state == ActivityState.Closed then
anim.speed = 0
else
anim.speed = 1
end
end
end
end
function UnchartedMapCtrl:RegisterReddot()
for i = 1, 5 do
@@ -254,7 +278,7 @@ function UnchartedMapCtrl:RefreshRemainTime(endTime, txtComp)
local sTimeStr = ""
if remainTime <= 60 then
local sec = math.floor(remainTime)
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Sec") or "", sec)
sTimeStr = orderedFormat(ConfigTable.GetUIText("ActivityNew_Remain_Time_Sec") or "", sec)
elseif 60 < remainTime and remainTime <= 3600 then
local min = math.floor(remainTime / 60)
local sec = math.floor(remainTime - min * 60)
@@ -262,7 +286,7 @@ function UnchartedMapCtrl:RefreshRemainTime(endTime, txtComp)
min = min - 1
sec = 60
end
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Min") or "", min, sec)
sTimeStr = orderedFormat(ConfigTable.GetUIText("ActivityNew_Remain_Time_Min") or "", min, sec)
elseif 3600 < remainTime and remainTime <= 86400 then
local hour = math.floor(remainTime / 3600)
local min = math.floor((remainTime - hour * 3600) / 60)
@@ -270,7 +294,7 @@ function UnchartedMapCtrl:RefreshRemainTime(endTime, txtComp)
hour = hour - 1
min = 60
end
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Hour") or "", hour, min)
sTimeStr = orderedFormat(ConfigTable.GetUIText("ActivityNew_Remain_Time_Hour") or "", hour, min)
elseif 86400 < remainTime then
local day = math.floor(remainTime / 86400)
local hour = math.floor((remainTime - day * 86400) / 3600)
@@ -278,7 +302,7 @@ function UnchartedMapCtrl:RefreshRemainTime(endTime, txtComp)
day = day - 1
hour = 24
end
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Day") or "", day, hour)
sTimeStr = orderedFormat(ConfigTable.GetUIText("ActivityNew_Remain_Time_Day") or "", day, hour)
end
NovaAPI.SetTMPText(txtComp, sTimeStr)
return remainTime
@@ -451,6 +475,7 @@ function UnchartedMapCtrl:RefreshTaskButtonState(actData)
self._mapNode.imgTaskEnd.gameObject:SetActive(state == ActivityState.Closed)
self._mapNode.dbTaskEnd.gameObject:SetActive(state == ActivityState.Closed)
self._mapNode.txtTaskEnd.gameObject:SetActive(state == ActivityState.Closed)
self._mapNode.txtTaskProgressEnd.gameObject:SetActive(state == ActivityState.Closed)
self._mapNode.imgTaskActivityUnlockTime:SetActive(state == ActivityState.NotOpen)
self.tbActState[activityId] = state
local ActivityTaskData = PlayerData.Activity:GetActivityDataById(activityId)
@@ -488,6 +513,7 @@ function UnchartedMapCtrl:RefreshStoryButtonState(actData)
self._mapNode.imgStoryActivityUnlockTime:SetActive(state == ActivityState.NotOpen)
self._mapNode.goStoryEnd:SetActive(state == ActivityState.Closed)
self._mapNode.imgStoryEnd:SetActive(state == ActivityState.Closed)
self._mapNode.dbStoryEnd:SetActive(state == ActivityState.Closed)
self._mapNode.txtStory_End.gameObject:SetActive(state == ActivityState.Closed)
self.tbActState[activityId] = state
end
@@ -517,12 +543,10 @@ function UnchartedMapCtrl:RefreshLevelButtonState(actData)
self._mapNode.imgLevelActivityUnlockTime:SetActive(state == ActivityState.NotOpen)
self._mapNode.imgLevelEnd:SetActive(state == ActivityState.Closed)
self._mapNode.goLevelEnd:SetActive(state == ActivityState.Closed)
self._mapNode.dbBattleEnd:SetActive(state == ActivityState.Closed)
self._mapNode.dbBattleEnd2:SetActive(state == ActivityState.Closed)
self._mapNode.txtLevel_End.gameObject:SetActive(state == ActivityState.Closed)
self.tbActState[activityId] = state
local anim = self._mapNode.btnEntrance_[AllEnum.ActivityThemeFuncIndex.Level].transform:GetChild(0):GetComponent("Animator")
if state == ActivityState.Open then
anim:Play("btnEntrance_5_idle")
end
end
end
function UnchartedMapCtrl:RefreshShopButtonState(actData)
@@ -545,7 +569,7 @@ function UnchartedMapCtrl:RefreshShopButtonState(actData)
self.tbActState[activityId] = state
end
end
function UnchartedMapCtrl:RequireActiviyData()
function UnchartedMapCtrl:RequireActivityData()
if self.bRequiredActData then
return
end
@@ -564,7 +588,7 @@ function UnchartedMapCtrl:RefreshActivityData()
return
end
self:AddTimer(1, 3, function()
self:RequireActiviyData()
self:RequireActivityData()
end, true, true, true)
end
function UnchartedMapCtrl:OnBtn_ClickActivityEntrance(btn, nIndex)
@@ -576,47 +600,13 @@ function UnchartedMapCtrl:OnBtn_ClickActivityEntrance(btn, nIndex)
if nil == state then
return
end
if state == ActivityState.Closed then
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Activity_End_Notice"))
return
elseif state == ActivityState.NotOpen then
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Activity_Not_Open"))
return
elseif state == ActivityState.Open then
local activityData = PlayerData.Activity:GetActivityDataById(actData.ActivityId)
if activityData == nil then
local bHint = true
if nIndex == AllEnum.ActivityThemeFuncIndex.Story then
bHint = not PlayerData.ActivityAvg:HasActivityData(actData.ActivityId)
end
if self.bRequiredActData and bHint then
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Activity_Data_Refreshing"))
return
end
if bHint then
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Activity_Not_Open"))
self:RequireActiviyData()
return
end
end
end
if actData.PanelId ~= nil and ActivityState.Open == state then
if nIndex == AllEnum.ActivityThemeFuncIndex.MiniGame then
LocalData.SetPlayerLocalData("Activity_ThrowGift_New", true)
RedDotManager.SetValid(RedDotDefine.Activity_ThrowGift_New, {
actData.ActivityId
}, false)
local func = function()
EventManager.Hit(EventId.OpenPanel, actData.PanelId, actData.ActivityId, self.nActId)
end
EventManager.Hit(EventId.SetTransition, 52, func)
elseif self.ActivityGroupCfg.TransitionId ~= nil and self.ActivityGroupCfg.TransitionId > 0 then
EventManager.Hit(EventId.SetTransition, self.ActivityGroupCfg.TransitionId, function()
EventManager.Hit(EventId.OpenPanel, actData.PanelId, actData.ActivityId)
end)
else
EventManager.Hit(EventId.OpenPanel, actData.PanelId, actData.ActivityId)
local bOpen, _state, _sTips, bNeedRefreshData = self.ActData:CheckActivityEntranceOpen(actData.ActivityId, actData.PanelId, true, self.bRequiredActData)
if not bOpen then
if bNeedRefreshData then
self:RequireActivityData()
end
return
end
self.ActData:OpenActivityEntrance(actData.ActivityId, actData.PanelId)
end
return UnchartedMapCtrl