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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user