Major Update - 2.0.0.143
EN: 2.0.0.143 CN: 2.0.0.142 JP: 2.0.0.145 KR: 2.0.0.150
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
local BaseCtrl = require("GameCore.UI.BaseCtrl")
|
||||
local LocalData = require("GameCore.Data.LocalData")
|
||||
local TechStoryCtrl = class("TechStoryCtrl", BaseCtrl)
|
||||
local ActivityAvgData = PlayerData.ActivityAvg
|
||||
TechStoryCtrl._mapNodeConfig = {
|
||||
svStory = {
|
||||
sComponentName = "LoopScrollView"
|
||||
@@ -74,7 +73,9 @@ function TechStoryCtrl:Awake()
|
||||
local param = self:GetPanelParam()
|
||||
if type(param) == "table" then
|
||||
self.nActId = param[1]
|
||||
self.bReview = param[2] == true
|
||||
end
|
||||
self.storyData = self.bReview and PlayerData.StoryReview or PlayerData.ActivityAvg
|
||||
self.storyNodePos = {-23.7, -107}
|
||||
self.tbGridTimer = {}
|
||||
self.tbPlayedAnim = {}
|
||||
@@ -100,7 +101,7 @@ function TechStoryCtrl:RefreshPersonality()
|
||||
if personalityId <= 0 then
|
||||
return
|
||||
end
|
||||
local tbRetPercent, sTitle, sFace, tbPData, nTotalCount, sHead = PlayerData.ActivityAvg:CalcPersonality(personalityId, self.nChapterId)
|
||||
local tbRetPercent, sTitle, sFace, tbPData, nTotalCount, sHead = self.storyData:CalcPersonality(personalityId, self.nChapterId)
|
||||
NovaAPI.SetPersonalityRing(self._mapNode.goPersonality, tbRetPercent)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtCharName, sTitle)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtPersonalityPercent[1], math.floor(tbRetPercent[1] * 100) .. "%")
|
||||
@@ -111,11 +112,11 @@ function TechStoryCtrl:RefreshPersonality()
|
||||
end
|
||||
function TechStoryCtrl:RefreshStoryList()
|
||||
self.tbPlayedAnim = {}
|
||||
self.tbAllStory, self.nChapterId = ActivityAvgData:GetStoryIdListByActivityId(self.nActId)
|
||||
self.tbAllStory, self.nChapterId = self.storyData:GetStoryIdListByActivityId(self.nActId)
|
||||
if self.tbAllStory == nil or #self.tbAllStory <= 0 then
|
||||
return
|
||||
end
|
||||
local recentStoryId = ActivityAvgData:GetRecentStoryId(self.nChapterId)
|
||||
local recentStoryId = self.storyData:GetRecentStoryId(self.nChapterId)
|
||||
local recentIndex = 1
|
||||
for i = 1, #self.tbAllStory do
|
||||
if self.tbAllStory[i] == recentStoryId then
|
||||
@@ -165,9 +166,9 @@ function TechStoryCtrl:RefreshGridInfo(grid, gridIndex)
|
||||
local txtTitle = RootNode:Find("tmpGroupDone"):GetComponent("TMP_Text")
|
||||
local txtComplete = goComplete.transform:Find("imgBg/txtComplete"):GetComponent("TMP_Text")
|
||||
NovaAPI.SetTMPText(txtComplete, ConfigTable.GetUIText("RoguelikeBuild_Manage_FilterPass"))
|
||||
local isUnlock, tbResult = ActivityAvgData:IsUnlock(avgcfg.ConditionId)
|
||||
local isReaded = ActivityAvgData:IsStoryReaded(storyId)
|
||||
local bOpen, nOpenTime = ActivityAvgData:IsOpen(avgcfg.StoryId, self.nActId)
|
||||
local isUnlock, tbResult = self.storyData:IsUnlock(avgcfg.ConditionId)
|
||||
local isReaded = self.storyData:IsStoryReaded(storyId)
|
||||
local bOpen, nOpenTime = self.storyData:IsOpen(avgcfg.StoryId, self.nActId)
|
||||
NovaAPI.CtrlDotweenAnimation(dotweenGear, isUnlock and bOpen and 1 or 0)
|
||||
imgStory.gameObject:SetActive(true)
|
||||
if bOpen and isUnlock then
|
||||
@@ -208,12 +209,16 @@ function TechStoryCtrl:RefreshGridInfo(grid, gridIndex)
|
||||
end, true, true, true)
|
||||
NovaAPI.SetTMPText(txtTime, strTime)
|
||||
end
|
||||
local _bInActGroup, nActGroupId = PlayerData.Activity:IsActivityInActivityGroup(self.nActId)
|
||||
RedDotManager.RegisterNode(RedDotDefine.Activity_GroupNew_Avg_Group, {
|
||||
nActGroupId,
|
||||
self.nActId,
|
||||
avgcfg.Id
|
||||
}, RedDot, nil, nil, true)
|
||||
if self.bReview then
|
||||
RedDot:SetActive(false)
|
||||
else
|
||||
local _bInActGroup, nActGroupId = PlayerData.Activity:IsActivityInActivityGroup(self.nActId)
|
||||
RedDotManager.RegisterNode(RedDotDefine.Activity_GroupNew_Avg_Group, {
|
||||
nActGroupId,
|
||||
self.nActId,
|
||||
avgcfg.Id
|
||||
}, RedDot, nil, nil, true)
|
||||
end
|
||||
local clickFuc = function()
|
||||
if not bOpen or self.bCantClick then
|
||||
return
|
||||
@@ -222,10 +227,10 @@ function TechStoryCtrl:RefreshGridInfo(grid, gridIndex)
|
||||
local bNew = not isReaded
|
||||
self.avgId = avgcfg.StoryId
|
||||
self._mapNode.ctlAvgRoot.gameObject:SetActive(true)
|
||||
self._mapNode.ctlAvgRoot:OpenLevelInfo(avgcfg.StoryId, self.nActId, bNew)
|
||||
self._mapNode.ctlAvgRoot:OpenLevelInfo(avgcfg.StoryId, self.nActId, bNew, self.bReview)
|
||||
self.curIndex = gridIndex
|
||||
LocalData.SetPlayerLocalData("Act_Story_New" .. self.nActId .. avgcfg.Id, true)
|
||||
ActivityAvgData:RefreshAvgRedDot()
|
||||
LocalData.SetPlayerLocalData(self.storyData:_GetLocalReadKey(self.nActId, avgcfg.Id), true)
|
||||
self.storyData:RefreshAvgRedDot()
|
||||
elseif tbResult ~= nil then
|
||||
local lockTxt = ""
|
||||
for i = 1, #tbResult do
|
||||
@@ -250,7 +255,7 @@ function TechStoryCtrl:RefreshGridInfo(grid, gridIndex)
|
||||
for k, v in pairs(tbStoryIds) do
|
||||
if v == false then
|
||||
local storyData = ConfigTable.GetData("ActivityStory", k)
|
||||
if ActivityAvgData:IsUnlock(storyData.ConditionId) then
|
||||
if self.storyData:IsUnlock(storyData.ConditionId) then
|
||||
lockTxt = orderedFormat(ConfigTable.GetUIText("Story_UnlockPreId") or "", storyData.Title)
|
||||
break
|
||||
end
|
||||
@@ -366,6 +371,7 @@ function TechStoryCtrl:OnBtn_ClickCloseLevelInfoPanel()
|
||||
self._mapNode.t_fullscreen_blur_black:SetActive(false)
|
||||
self._mapNode.ctlAvgRoot.gameObject:SetActive(false)
|
||||
self._mapNode.goChapterComplete:SetActive(false)
|
||||
EventManager.Hit("ActivityStoryReceive_SetVisible", true)
|
||||
end
|
||||
function TechStoryCtrl:OnEvent_Story_Done(bHasReward)
|
||||
self:RefreshPanel()
|
||||
@@ -375,7 +381,7 @@ function TechStoryCtrl:OnEvent_Story_Done(bHasReward)
|
||||
end
|
||||
function TechStoryCtrl:OnEvent_SelectMainlineBattle(bConfirm)
|
||||
local OpenPanel = function()
|
||||
EventManager.Hit(EventId.OpenPanel, PanelId.RegionBossFormation, AllEnum.RegionBossFormationType.ActivityStory, 0, self.avgId, self.nActId)
|
||||
EventManager.Hit(EventId.OpenPanel, PanelId.RegionBossFormation, AllEnum.RegionBossFormationType.ActivityStory, 0, self.avgId, self.nActId, self.bReview)
|
||||
end
|
||||
if bConfirm then
|
||||
EventManager.Hit(EventId.SetTransition, 2, OpenPanel)
|
||||
@@ -385,9 +391,11 @@ function TechStoryCtrl:OnEvent_Activity_Story_RewardClosed()
|
||||
self.bCantClick = false
|
||||
if self.curIndex == #self.tbAllStory then
|
||||
self._mapNode.goChapterComplete:SetActive(true)
|
||||
EventManager.Hit("ActivityStoryReceive_SetVisible", false)
|
||||
end
|
||||
end
|
||||
function TechStoryCtrl:OnBtn_ClickCloseCompete()
|
||||
self._mapNode.goChapterComplete:SetActive(false)
|
||||
EventManager.Hit("ActivityStoryReceive_SetVisible", true)
|
||||
end
|
||||
return TechStoryCtrl
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
local BasePanel = require("GameCore.UI.BasePanel")
|
||||
local TechStoryPanel = class("TechStoryPanel", BasePanel)
|
||||
TechStoryPanel._sUIResRootPath = "UI_Activity/"
|
||||
TechStoryPanel._tbDefine = {
|
||||
{
|
||||
sPrefabPath = "10108/Story/TechStoryPanel.prefab",
|
||||
sPrefabPath = "ActivityStoryReview/10108/TechStoryPanel.prefab",
|
||||
sCtrlName = "Game.UI.ActivityTheme.10108.Story.TechStoryCtrl"
|
||||
},
|
||||
{
|
||||
sPrefabPath = "ActivityStoryReview/ActivityStoryReceivePanel.prefab",
|
||||
sCtrlName = "Game.UI.ActivityStoryReview.ActivityStoryReceiveCtrl"
|
||||
}
|
||||
}
|
||||
function TechStoryPanel:Awake()
|
||||
if self._tbParam[2] ~= true then
|
||||
self._tbDefine = {
|
||||
self._tbDefine[1]
|
||||
}
|
||||
end
|
||||
end
|
||||
function TechStoryPanel:OnEnable()
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user