Update - 1.9.0.107

EN: 1.9.0.107
CN: 1.9.0.108
JP: 1.9.0.112
KR: 1.9.0.112
This commit is contained in:
SL1900
2026-05-14 16:00:00 +09:00
parent 4b880806ef
commit eafd8f4088
1034 changed files with 809589 additions and 23067 deletions
@@ -60,7 +60,7 @@ function BreakOutLevelCellCtrl:RefreshLevelState()
self._mapNode.obj_TipEndMask.gameObject:SetActive(false)
self._mapNode.img_FinishIcon.gameObject:SetActive(false)
self._mapNode.redDotNew:SetActive(false)
self.bIsTimeOpen = self:RefreshLevelTime(self.LevelId)
self.bIsTimeOpen = self:RefreshLevelTime()
if self.bIsTimeOpen == nil or not self.bIsTimeOpen then
return
end
@@ -1,11 +1,11 @@
local BreakOutLevelDetailCtr = class("BreakOutLevelDetailCtr", BaseCtrl)
local BreakOutLevelDetailCtrl = class("BreakOutLevelDetailCtrl", BaseCtrl)
local DifficultyState = {
"Entry",
"Newbie",
"Advanced",
"Expert"
}
BreakOutLevelDetailCtr._mapNodeConfig = {
BreakOutLevelDetailCtrl._mapNodeConfig = {
TopBar = {
sNodeName = "TopBarPanel",
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
@@ -109,11 +109,11 @@ BreakOutLevelDetailCtr._mapNodeConfig = {
},
fxChange = {}
}
BreakOutLevelDetailCtr._mapEventConfig = {
BreakOutLevelDetailCtrl._mapEventConfig = {
Event_ReStartBreakOut = "Event_ReStartGoPlay",
RefreshCharacterBattleTimes = "RefreshCharacterDetail"
}
function BreakOutLevelDetailCtr:Awake()
function BreakOutLevelDetailCtrl:Awake()
local param = self:GetPanelParam()
if type(param) == "table" then
self.nActId = param[1]
@@ -126,13 +126,13 @@ function BreakOutLevelDetailCtr:Awake()
self.BreakOutFloorData = ConfigTable.GetData("BreakOutFloor", nFloorId)
self.PreviewMonsterGroupId = self.LevelData.PreviewMonsterGroupId
self._mapNode.btnEnemyInfo.gameObject:SetActive(self.PreviewMonsterGroupId ~= 0)
self.BreakOutLevelDetail_Animator = self.gameObject:GetComponent("Animator")
end
function BreakOutLevelDetailCtrl:OnEnable()
self.curCharacter = nil
self.isOnDefaultClick = true
self.nCurrentIndex = 1
self.nCurrentCharacterNid = {}
self.BreakOutLevelDetail_Animator = self.gameObject:GetComponent("Animator")
end
function BreakOutLevelDetailCtr:OnEnable()
self.curCharacter = nil
self.gameObject:SetActive(false)
local sSceneName = ConfigTable.GetData("BreakOutControl", self.nActId).SceneName
local Callback = function(bSuccess)
@@ -155,7 +155,6 @@ function BreakOutLevelDetailCtr:OnEnable()
cs_coroutine.start(wait)
else
self._mapNode.UIParallax3DStage.gameObject:SetActive(false)
self._mapNode.BGbackup:SetActive(true)
end
self._mapNode.goChar:OpenList(false)
self.bOpen = false
@@ -166,7 +165,7 @@ function BreakOutLevelDetailCtr:OnEnable()
CS.MainMenuModuleHelper.GetActiveScene(sSceneName, Callback)
self.bOpenTransition = false
end
function BreakOutLevelDetailCtr:OnDisable()
function BreakOutLevelDetailCtrl:OnDisable()
local sSceneName = ConfigTable.GetData("BreakOutControl", self.nActId).SceneName
local callback1 = function()
EventManager.Hit(EventId.SetTransition)
@@ -184,14 +183,14 @@ function BreakOutLevelDetailCtr:OnDisable()
end
self.curCharacter = nil
end
function BreakOutLevelDetailCtr:Refresh()
function BreakOutLevelDetailCtrl:Refresh()
self:Set_DefaultCharacter()
self:RefreshLevelDetail()
self:RefreshLevelCharacter()
self:RefreshCharacterDetail()
self:RefreshCharacter()
end
function BreakOutLevelDetailCtr:RefreshLevelDetail()
function BreakOutLevelDetailCtrl:RefreshLevelDetail()
NovaAPI.SetTMPText(self._mapNode.txt_LevelTitle, self.LevelData.Name)
local time = self.BreakOutFloorData.Time
local score = self.BreakOutFloorData.Score
@@ -218,7 +217,7 @@ function BreakOutLevelDetailCtr:RefreshLevelDetail()
self._mapNode.UnClick:SetActive(self.isOnDefaultClick)
self._mapNode.CanClick:SetActive(not self.isOnDefaultClick)
end
function BreakOutLevelDetailCtr:RefreshLevelCharacter()
function BreakOutLevelDetailCtrl:RefreshLevelCharacter()
local nCharactersNumber = #self.LevelData.Characters
for i = 1, nCharactersNumber do
self._mapNode.btnHeadItem_[i].gameObject:SetActive(true)
@@ -230,7 +229,7 @@ function BreakOutLevelDetailCtr:RefreshLevelCharacter()
self._mapNode.btnHeadItem_[i].gameObject:SetActive(false)
end
end
function BreakOutLevelDetailCtr:RefreshLevelCharacterState(index, characterNId, characterId)
function BreakOutLevelDetailCtrl:RefreshLevelCharacterState(index, characterNId, characterId)
local objTog = self._mapNode.btnHeadItem_[index].gameObject
local rt_Head_Close = objTog.transform:Find("Head_Close").gameObject
local rt_SelectIcon = objTog.transform:Find("SelectIcon").gameObject
@@ -256,7 +255,7 @@ function BreakOutLevelDetailCtr:RefreshLevelCharacterState(index, characterNId,
self:SetPngSprite(img_HeadIcon, "Icon/Head/" .. sHeadPath)
end
end
function BreakOutLevelDetailCtr:RefreshCharacterDetail()
function BreakOutLevelDetailCtrl:RefreshCharacterDetail()
local DefaultDesc = self._mapNode.CharacterDetails.transform:Find("DefaultDesc"):GetComponent("CanvasGroup")
local SpScrollView = self._mapNode.CharacterDetails.transform:Find("SpScrollView"):GetComponent("CanvasGroup")
if self.isOnDefaultClick or self.nCurrentCharacterNid[1] == nil then
@@ -279,25 +278,24 @@ function BreakOutLevelDetailCtr:RefreshCharacterDetail()
self.BreakOutLevelDetail_Animator:Play("BreakOutLevelDetailPanel_switch", -1, 0)
end
end
function BreakOutLevelDetailCtr:RefreshCharacter()
function BreakOutLevelDetailCtrl:RefreshCharacter()
if #self.nCurrentCharacterNid == 0 then
self.nCurrentCharacterNid[1] = 0
self._mapNode.iconAdd:SetActive(true)
return
end
if #self.nCurrentCharacterNid ~= 0 then
else
self._mapNode.iconAdd:SetActive(false)
local characterId = self.BreakOutData:GetDataFromBreakOutCharacter(self.nCurrentCharacterNid[1]).CharId
if self.curCharacter == nil or self.curCharacter.nCharId ~= characterId then
self:LoadCharacter(characterId, self.nCurrentCharacterNid[1], self.bOpen)
elseif self.curCharacter ~= nil then
NovaAPI.UnbindUIParallaxStageCameraControllerModel(self._mapNode.UIParallax3DStage, 0)
destroy(self.curCharacter.model)
self.curCharacter = nil
end
elseif self.curCharacter ~= nil then
NovaAPI.UnbindUIParallaxStageCameraControllerModel(self._mapNode.UIParallax3DStage, 0)
destroy(self.curCharacter.model)
self.curCharacter = nil
end
end
function BreakOutLevelDetailCtr:LoadCharacter(nCharId, nCharNid, bOpen)
function BreakOutLevelDetailCtrl:LoadCharacter(nCharId, nCharNid, bOpen)
if self.isOnDefaultClick then
return
end
@@ -345,22 +343,22 @@ function BreakOutLevelDetailCtr:LoadCharacter(nCharId, nCharNid, bOpen)
end
self:LoadAssetAsync(sFullPath, typeof(GameObject), LoadModelCallback)
end
function BreakOutLevelDetailCtr:PlayChangeFx()
function BreakOutLevelDetailCtrl:PlayChangeFx()
GameUIUtils.RestartParticle(self._mapNode.fxChange)
end
function BreakOutLevelDetailCtr:OnBtn_ClickCharacterItem(btn, nIndex)
function BreakOutLevelDetailCtrl:OnBtn_ClickCharacterItem(btn, nIndex)
local characterNId = tonumber(btn.gameObject.transform:GetChild(0).name)
if not self.BreakOutData:CacheIsUnlocked(characterNId) then
return
end
if self.nCurrentIndex ~= nIndex or self.nCurrentCharacterNid[1] ~= characterNId then
if self.isOnDefaultClick or self.nCurrentIndex ~= nIndex or self.nCurrentCharacterNid[1] ~= characterNId then
self.nCurrentIndex = nIndex
self.isOnDefaultClick = false
self.nCurrentCharacterNid[1] = characterNId
self:Refresh()
end
end
function BreakOutLevelDetailCtr:OnBtnClick_RewardItem(btn, nIndex)
function BreakOutLevelDetailCtrl:OnBtnClick_RewardItem(btn, nIndex)
local nRewardId
if self.tbReward ~= nil and self.tbReward[nIndex] ~= nil then
nRewardId = self.tbReward[nIndex][1]
@@ -369,7 +367,7 @@ function BreakOutLevelDetailCtr:OnBtnClick_RewardItem(btn, nIndex)
UTILS.ClickItemGridWithTips(nRewardId, btn.transform, true, true, false)
end
end
function BreakOutLevelDetailCtr:OnBtn_Go()
function BreakOutLevelDetailCtrl:OnBtn_Go()
if self.isOnDefaultClick or self.nCurrentCharacterNid[1] == nil or self.nCurrentCharacterNid[1] == 0 then
local sTip = ConfigTable.GetUIText("BreakOut_Act_DefaultDesc")
EventManager.Hit(EventId.OpenMessageBox, sTip)
@@ -383,7 +381,7 @@ function BreakOutLevelDetailCtr:OnBtn_Go()
CS.AdventureModuleHelper.EnterBrickBreakerLevel(self.LevelData.FloorId, param)
NovaAPI.EnterModule("AdventureModuleScene", true, 17)
end
function BreakOutLevelDetailCtr:Event_ReStartGoPlay(tempData)
function BreakOutLevelDetailCtrl:Event_ReStartGoPlay(tempData)
local sChar = tostring(tempData.curChar)
local param = {}
table.insert(param, sChar)
@@ -391,7 +389,7 @@ function BreakOutLevelDetailCtr:Event_ReStartGoPlay(tempData)
CS.AdventureModuleHelper.EnterBrickBreakerLevel(tempData.FloorId, param)
NovaAPI.EnterModule("AdventureModuleScene", true, 17)
end
function BreakOutLevelDetailCtr:Set_DefaultCharacter()
function BreakOutLevelDetailCtrl:Set_DefaultCharacter()
local nCharactersNumber = #self.LevelData.Characters
if nCharactersNumber == 1 then
self.nCurrentIndex = nCharactersNumber
@@ -399,7 +397,7 @@ function BreakOutLevelDetailCtr:Set_DefaultCharacter()
self.nCurrentCharacterNid[1] = ConfigTable.GetData("BreakOutCharacter", self.LevelData.Characters[nCharactersNumber]).Id
end
end
function BreakOutLevelDetailCtr:OnBtnClick_EnemyInfo()
function BreakOutLevelDetailCtrl:OnBtnClick_EnemyInfo()
EventManager.Hit("OpenActivityLevelsMonsterInfo", self.PreviewMonsterGroupId)
end
return BreakOutLevelDetailCtr
return BreakOutLevelDetailCtrl
@@ -4,7 +4,7 @@ BreakOutLevelDetailPanel._sUIResRootPath = "UI_Activity/"
BreakOutLevelDetailPanel._tbDefine = {
{
sPrefabPath = "30101/Play/BreakOutLevelDetailPanel.prefab",
sCtrlName = "Game.UI.Play_BreakOut_30101.BreakOutLevelDetailCtr"
sCtrlName = "Game.UI.Play_BreakOut_30101.BreakOutLevelDetailCtrl"
}
}
function BreakOutLevelDetailPanel:Awake()
@@ -24,17 +24,20 @@ BreakOutPauseCtrl._mapNodeConfig = {
btn_exit = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Exit",
sAction = "Giveup"
sAction = "Giveup",
sActionIconType = "Dark"
},
btn_restart = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Restart",
sAction = "Retry"
sAction = "Retry",
sActionIconType = "Dark"
},
btn_continue = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Continue",
sAction = "Back"
sAction = "Back",
sActionIconType = "Dark"
},
safeAreaRoot = {
sNodeName = "----SafeAreaRoot----"
@@ -53,6 +56,7 @@ function BreakOutPauseCtrl:Open()
end
self._mapNode.safeAreaRoot:SetActive(true)
self.bInOpen = true
EventManager.Hit("Event_SetPopPlayTips", false)
PanelManager.InputDisable()
EventManager.Hit("SetBreakOutPlaySkill_Visible", false)
GamepadUIManager.EnableGamepadUI("BreakOutPauseCtrl", self.tbGamepadUINode)
@@ -63,6 +67,7 @@ function BreakOutPauseCtrl:Close()
end
self.bInOpen = false
GamepadUIManager.DisableGamepadUI("BreakOutPauseCtrl")
EventManager.Hit("Event_SetPopPlayTips", true)
self._mapNode.safeAreaRoot:SetActive(false)
PanelManager.InputEnable()
EventManager.Hit("SetBreakOutPlaySkill_Visible", true)
@@ -8,7 +8,7 @@ local DifficultyState = {
"Expert"
}
local colorWhite = Color(1, 1, 1, 1)
local colorRed = Color(0.8470588235294118, 0.3137254901960784, 0.32941176470588235)
local colorRed = Color(0.8470588235294118, 0.3137254901960784, 0.32941176470588235, 1)
BreakOutPlayCtrl._mapNodeConfig = {
btn_pause = {
sComponentName = "NaviButton",
@@ -50,7 +50,8 @@ BreakOutPlayCtrl._mapNodeConfig = {
btn_dic = {
sComponentName = "NaviButton",
callback = "OnBtnClick_OpenDic",
sAction = "Depot"
sAction = "Depot",
sActionIconType = "Dark"
},
txt_dic = {
nCount = 2,
@@ -90,7 +91,7 @@ function BreakOutPlayCtrl:Awake()
self.nDicId = self.FloorData.DictionaryID
self.bHasDic = self.BreakOutData.BreakOutLevelData:GetFloorHasDic(self.FloorData.Id)
self.tbGamepadUINode = self:GetGamepadUINode()
GamepadUIManager.EnableGamepadUI("BreakOutPlayCtrl", {})
GamepadUIManager.EnableGamepadUI("BreakOutPlayCtrl", self.tbGamepadUINode)
self._mapNode.btn_dic.gameObject:SetActive(self.nDicId ~= 0)
end
function BreakOutPlayCtrl:OnEnable()
@@ -133,9 +134,11 @@ function BreakOutPlayCtrl:InitState()
self:SetCurrentTime(self.FloorData.Time)
end
function BreakOutPlayCtrl:ResumeLogic()
EventManager.Hit("Event_SetPopPlayTips", true)
PanelManager.InputEnable()
end
function BreakOutPlayCtrl:PauseLogic()
EventManager.Hit("Event_SetPopPlayTips", false)
PanelManager.InputDisable()
end
function BreakOutPlayCtrl:SetCurrentTime(nTime)
@@ -164,18 +167,19 @@ function BreakOutPlayCtrl:OnEvent_HPChange(curValue)
curValue = self.InitialHeart
end
end
self.nRemainHp = curValue
for i = 1, curValue do
local RedHeart = self._mapNode.heartItem[i].transform:Find("RedHeart")
self._mapNode.heartEffItem[i]:SetActive(false)
RedHeart.gameObject:SetActive(true)
end
for i = curValue + 1, self.MaxHeartNumber do
local nPrevHp = self.nRemainHp
for i = curValue + 1, nPrevHp do
local RedHeart = self._mapNode.heartItem[i].transform:Find("RedHeart")
self._mapNode.heartEffItem[i]:SetActive(true)
RedHeart.gameObject:SetActive(false)
WwiseAudioMgr:PostEvent("mode_breakout_ui_dropHeart")
end
self.nRemainHp = curValue
end
function BreakOutPlayCtrl:OnEvent_Time(nTime)
self:SetCurrentTime(nTime)
@@ -216,12 +220,11 @@ function BreakOutPlayCtrl:OnEvent_FinishGame(nResult)
if self.bInLockState then
return
end
NovaAPI.SetCanvasGroupAlpha(self.Canvas, 0)
local bResult = nResult == GameEnum.levelState.Success and true or false
local bResult = nResult == GameEnum.levelState.Success
EventManager.Hit("BreakOut_Complete", true)
local requestCb = function(mapChangeInfo)
NovaAPI.SetCanvasGroupAlpha(self.Canvas, 0)
local cb = function()
self:PauseLogic()
self:ResumeLogic()
end
self:OpenBreakOutResultPanel(bResult, cb, mapChangeInfo)
@@ -238,10 +241,9 @@ function BreakOutPlayCtrl:OnEvent_Exit()
EventManager.Hit("Close_BattlePause")
EventManager.Hit("BreakOut_Complete", true)
EventManager.Hit("SetBreakOutPlaySkill_Visible", false)
NovaAPI.SetCanvasGroupAlpha(self.Canvas, 0)
local requestCb = function(mapChangeInfo)
NovaAPI.SetCanvasGroupAlpha(self.Canvas, 0)
local cb = function()
self:PauseLogic()
self:ResumeLogic()
end
self:OpenBreakOutResultPanel(false, cb, mapChangeInfo)
@@ -132,41 +132,31 @@ function BreakOutPlaySkillCtrl:OnEvent_BtnStateChange(sBtnName, nBtnState)
func_CheckBtnState(self.tbDefine_BreakOutPlayBtn)
end
function BreakOutPlaySkillCtrl:Refresh()
for index, v in ipairs(self.tbDefine_BreakOutPlayBtn) do
for _, v in ipairs(self.tbDefine_BreakOutPlayBtn) do
if v.BreakOutSkillBtnCtrl ~= nil then
v.nCharId = self.nCurCharId
local tCharacterData = self.BreakOutData:GetDataFromBreakOutCharacter(self.nCurCharId)
if tCharacterData == nil then
printError("角色ID:" .. self.nCurCharId .. "在表中不存在数据信息")
return
end
v.nSkillId = tCharacterData.SkillId
local EET = tCharacterData.EET
local skillData = ConfigTable.GetData("Skill", v.nSkillId)
if skillData ~= nil then
v.BreakOutSkillBtnCtrl:InitSkillBtn(EET, skillData.Icon, v.nSkillId, v.btnTyp)
v.BreakOutSkillBtnCtrl:InitSkillBtn(EET, skillData.Icon, v.nSkillId, v.btnTyp, self.nCurCharId, self.BreakOutData.BreakOutLevelData)
end
end
end
end
function BreakOutPlaySkillCtrl:OnEvent_RefreshSkillState(CharacterId, SkillId, nCurSkillEnergy, nMaxSkillEnergy, nCurCDTime)
local breakOutSkillBtnCtrl = self.tbDefine_BreakOutPlayBtn[2].BreakOutSkillBtnCtrl
if CharacterId ~= self.nCurCharId then
return
end
local tCharacterData = self.BreakOutData:GetDataFromBreakOutCharacter(CharacterId)
if tCharacterData == nil then
return
end
local skillData = ConfigTable.GetData("Skill", SkillId)
local nTotalCDTime = skillData.SkillCD
if breakOutSkillBtnCtrl ~= nil then
breakOutSkillBtnCtrl:RefreshSkillBtn(nCurSkillEnergy, nMaxSkillEnergy, nCurCDTime, nTotalCDTime)
end
end
function BreakOutPlaySkillCtrl:OnEvent_ClearState()
local breakOutSkillBtnCtrl = self.tbDefine_BreakOutPlayBtn[2].BreakOutSkillBtnCtrl
if breakOutSkillBtnCtrl ~= nil then
local tCharacterData = self.BreakOutData:GetDataFromBreakOutCharacter(self.nCurCharId)
if tCharacterData == nil then
printError("角色ID:" .. self.nCurCharId .. "在表中不存在数据信息")
return
end
local nMaxSkillEnergy = tCharacterData.MP
local skillData = ConfigTable.GetData("Skill", tCharacterData.SkillId)
local nTotalCDTime = skillData.SkillCD
@@ -199,8 +189,24 @@ end
function BreakOutPlaySkillCtrl:OnEvent_RefreshShootState(bEnableShoot)
self.tbDefine_BreakOutPlayBtn[1].BreakOutSkillBtnCtrl:SetMainAlpha(bEnableShoot)
end
function BreakOutPlaySkillCtrl:OnEvent_RefreshSkillState(CharacterId, SkillId, nCurSkillEnergy, nMaxSkillEnergy, nCurCDTime)
local breakOutSkillBtnCtrl = self.tbDefine_BreakOutPlayBtn[2].BreakOutSkillBtnCtrl
if CharacterId ~= self.nCurCharId then
return
end
local tCharacterData = self.BreakOutData:GetDataFromBreakOutCharacter(CharacterId)
if tCharacterData == nil then
printError("角色ID:" .. CharacterId .. "在表中不存在数据信息")
return
end
local skillData = ConfigTable.GetData("Skill", SkillId)
local nTotalCDTime = skillData.SkillCD
if breakOutSkillBtnCtrl ~= nil then
breakOutSkillBtnCtrl:RefreshSkillBtn(nCurSkillEnergy, nMaxSkillEnergy, nCurCDTime, nTotalCDTime)
end
end
function BreakOutPlaySkillCtrl:EnableBtnControl()
for index, v in ipairs(self.tbDefine_BreakOutPlayBtn) do
for _, v in ipairs(self.tbDefine_BreakOutPlayBtn) do
NovaAPI.SetRealButtonActive(v.sName, true)
end
end
@@ -3,9 +3,10 @@ local WwiseAudioMgr = CS.WwiseAudioManager.Instance
local GamepadUIManager = require("GameCore.Module.GamepadUIManager")
BreakOutResultCtrl._mapNodeConfig = {
imgBlurredBg = {},
ButtonClose = {
sComponentName = "UIButton",
callback = "OnBtnClick_Close"
BtnShortcutClose = {
sComponentName = "NaviButton",
callback = "OnBtnClick_Close",
sAction = "Back"
},
FailRoot = {},
LeveName_Fail = {},
@@ -15,7 +16,8 @@ BreakOutResultCtrl._mapNodeConfig = {
sNodeName = "btn_Exit",
sComponentName = "NaviButton",
callback = "OnBtnClick_Close",
sAction = "Giveup"
sAction = "Giveup",
sActionIconType = "Dark"
},
txt_Exit = {
nCount = 2,
@@ -26,7 +28,8 @@ BreakOutResultCtrl._mapNodeConfig = {
sNodeName = "btn_Restart",
sComponentName = "NaviButton",
callback = "BreakOut_Button_Restart",
sAction = "Retry"
sAction = "Retry",
sActionIconType = "Dark"
},
txt_Restart = {
nCount = 2,
@@ -35,6 +38,28 @@ BreakOutResultCtrl._mapNodeConfig = {
},
safeAreaRoot = {
sNodeName = "----SafeAreaRoot----"
},
txtTips = {
sComponentName = "TMP_Text",
sLanguageId = "Tips_Continue"
},
txtTips1 = {
sComponentName = "TMP_Text",
sLanguageId = "Tips_Continue"
},
txtTips2 = {
sComponentName = "TMP_Text",
sLanguageId = "Tips_Continue"
},
txtClickPre = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "StarTower_Click_Pre"
},
txtClickSuf = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "StarTower_Click_Suf"
}
}
BreakOutResultCtrl._mapEventConfig = {OpenBreakOutResultPanel = "Open", CloseBreakOutResultPanel = "Close"}
@@ -43,6 +68,10 @@ function BreakOutResultCtrl:Awake()
self._mapNode.safeAreaRoot:SetActive(false)
self._mapNode.imgBlurredBg.gameObject:SetActive(false)
self.tbGamepadUINode = self:GetGamepadUINode()
self._mapNode.BtnShortcutClose.gameObject:SetActive(GamepadUIManager.GetInputState())
self._mapNode.txtTips1.gameObject:SetActive(not GamepadUIManager.GetInputState())
end
function BreakOutResultCtrl:OnEnable()
end
function BreakOutResultCtrl:SetContent()
EventManager.Hit(EventId.TemporaryBlockInput, 1)
@@ -53,7 +82,7 @@ function BreakOutResultCtrl:SetContent()
self:AddTimer(1, 1, function()
local mapReward = PlayerData.Item:ProcessRewardChangeInfo(self.mapChangeInfo)
local tbItem = {}
for _, v in ipairs(mapReward.tbReward) do
for _, v in pairs(mapReward.tbReward) do
local item = {
Tid = v.id,
Qty = v.count,
@@ -69,7 +98,7 @@ function BreakOutResultCtrl:SetContent()
NovaAPI.SetTMPText(sTitle, self.sLevelName)
end
end
function BreakOutResultCtrl:OnBtnClick_Close()
function BreakOutResultCtrl:OnBtnClick_Close(btn)
if self.bProcessingClose then
return
end
@@ -95,8 +124,9 @@ function BreakOutResultCtrl:BreakOut_Button_Restart()
EventManager.Hit("ResetBossHUD")
end
function BreakOutResultCtrl:Open(bResult, sLevelName, callback, mapChangeInfo)
EventManager.Hit("Event_SetPopPlayTips", false)
GamepadUIManager.EnableGamepadUI("BreakOutResultCtrl", self.tbGamepadUINode)
PanelManager.InputDisable()
GamepadUIManager.AddGamepadUINode("BreakOutPlayCtrl", self.tbGamepadUINode)
EventManager.Hit("SetBreakOutPlaySkill_Visible", false)
EventManager.Hit("OnEvent_ClearState")
self.bResult = bResult
@@ -105,7 +135,7 @@ function BreakOutResultCtrl:Open(bResult, sLevelName, callback, mapChangeInfo)
self.mapChangeInfo = mapChangeInfo
self._mapNode.SucceedRoot:SetActive(self.bResult)
self._mapNode.FailRoot:SetActive(not self.bResult)
self._mapNode.ButtonClose.gameObject:SetActive(self.bResult)
self._mapNode.BtnShortcutClose.gameObject:SetActive(self.bResult)
self:SetContent()
self.bProcessingClose = false
local wait = function()
@@ -117,6 +147,7 @@ function BreakOutResultCtrl:Open(bResult, sLevelName, callback, mapChangeInfo)
end
function BreakOutResultCtrl:Close()
self._mapNode.safeAreaRoot:SetActive(false)
EventManager.Hit("Event_SetPopPlayTips", true)
PanelManager.InputEnable()
self._mapNode.imgBlurredBg.gameObject:SetActive(false)
GamepadUIManager.DisableGamepadUI("BreakOutResultCtrl")
@@ -78,7 +78,8 @@ BreakOutSkillBtnCtrl._mapNodeConfig = {
}
BreakOutSkillBtnCtrl._mapEventConfig = {
Open_Ultra_Special_FX = "OpenUltraSpecialFX",
[EventId.SettingsBattleClose] = "OnEvent_ChangeKeyLayout"
[EventId.SettingsBattleClose] = "OnEvent_ChangeKeyLayout",
Brick_ShootButtonState = "OnEvent_GetShootState"
}
function BreakOutSkillBtnCtrl:Awake()
self.BTN = self.gameObject:GetComponent("ButtonEx")
@@ -103,11 +104,13 @@ function BreakOutSkillBtnCtrl:Awake()
self.skillId = nil
self:SetEmptySkillBtn()
end
function BreakOutSkillBtnCtrl:InitSkillBtn(EET, icon, skillId, actionId)
function BreakOutSkillBtnCtrl:InitSkillBtn(EET, icon, skillId, actionId, charId, breakOutLevelData)
self:SetMainAlpha(actionId ~= SKILL_ULTRA)
self.EET = EET
self.ActionId = actionId
self.skillId = skillId
self.nCurCharId = charId
self.BreakOutLevelData = breakOutLevelData
self.bShowSection = false
self._mapNode.TMP_Charge.gameObject:SetActive(false)
if 0 < EET then
@@ -143,7 +146,7 @@ function BreakOutSkillBtnCtrl:RefreshSkillBtn(nCurSkillEnergy, nMaxSkillEnergy,
return
end
local bBeginResume = false
local ChargePercent = nCurSkillEnergy / nMaxSkillEnergy
local ChargePercent = 0 < nMaxSkillEnergy and nCurSkillEnergy / nMaxSkillEnergy or 0
local bCanUse = false
bCanUse = nMaxSkillEnergy <= nCurSkillEnergy and nCurCDTime <= 0
self._mapNode.TMP_Charge.gameObject:SetActive(self.bShowSection)
@@ -163,14 +166,14 @@ function BreakOutSkillBtnCtrl:RefreshSkillBtn(nCurSkillEnergy, nMaxSkillEnergy,
else
end
end
if sAnimName ~= nil and sAnimName ~= nil then
if sAnimName ~= nil then
self:PlayAnimFX(sAnimName)
end
if sFxSoundName ~= nil and self.gameObject.activeInHierarchy == true and 0 < NovaAPI.GetCanvasGroupAlpha(self.parentCanvasGroup) then
WwiseAudioMgr:PlaySound(sFxSoundName)
end
self.bCanUse = bCanUse
local CDPercent = nCurCDTime / nTotalCDTime
local CDPercent = 0 < nTotalCDTime and nCurCDTime / nTotalCDTime or 0
self.nCDPercent = CDPercent
self:SetMainAlpha(bCanUse)
self:SetQTE(nCurSkillEnergy, nMaxSkillEnergy)
@@ -201,12 +204,12 @@ end
function BreakOutSkillBtnCtrl:PlayAnimFX(sAnimName)
self.AnimFX:Play(sAnimName)
end
function BreakOutSkillBtnCtrl:SetCD(totalCDTime, curCDTime, bBeginResume)
function BreakOutSkillBtnCtrl:SetCD(totalCDTime, curCDTime)
if self.ActionId == SKILL_SHOOT then
self._mapNode.TMP_CD.transform.localScale = Vector3.zero
return
end
local percent = curCDTime / totalCDTime
local percent = 0 < totalCDTime and curCDTime / totalCDTime or 0
self.bInCD = 0 < percent
self._mapNode.transformCD.localScale = self.bInCD == true and Vector3.one or Vector3.zero
self._mapNode.transformXcd.localScale = self.bInCD == true and Vector3.one or Vector3.zero
@@ -256,6 +259,10 @@ function BreakOutSkillBtnCtrl:GetSupSkillForbidden()
return self._mapNode.transformX.localScale == Vector3.one
end
function BreakOutSkillBtnCtrl:BtnStateChange(nState)
if self.BreakOutLevelData:GetPopPlayTips() and not self:GetCanUseSkill() and self.ActionId ~= SKILL_SHOOT and self.bCanUse then
local sTip = ConfigTable.GetUIText("BreakOut_Play_Tips")
EventManager.Hit(EventId.OpenMessageBox, sTip)
end
if nState == BTN_STATE.Cancel then
NovaAPI.SetComponentEnable(self._mapNode.imgPressed, false)
NovaAPI.SetComponentEnable(self._mapNode.imgXtips, false)
@@ -308,4 +315,11 @@ function BreakOutSkillBtnCtrl:OnEvent_ChangeKeyLayout()
self:SetActionLayout()
self:SetCDTextSize()
end
function BreakOutSkillBtnCtrl:GetCanUseSkill()
local bUseSkill = self.nCurCharId == 14501 and self.bEnableShoot
return not bUseSkill
end
function BreakOutSkillBtnCtrl:OnEvent_GetShootState(bEnableShoot)
self.bEnableShoot = bEnableShoot
end
return BreakOutSkillBtnCtrl
@@ -76,10 +76,11 @@ function LevelSelectCtrl:OnDisable()
self:UnbindCtrlByNode(objCtrl)
self.tbGridCtrl[index] = nil
end
self.tbGridCtrl = {
{},
{}
}
self.tbGridCtrl = {}
if self.tweener ~= nil then
self.tweener:Kill()
self.tweener = nil
end
end
function LevelSelectCtrl:OnEnable()
if self.BreakOutData == nil or self.BreakOutData ~= nil and self.BreakOutData:GetLevelData() == nil then
@@ -267,14 +268,13 @@ function LevelSelectCtrl:OnDrag_ActBanner(mDrag)
local nPos = 0
if self.nBannerDragPosX > 0 then
nPos = self.nGridsWidth
self.nTypeIdx = 0 >= self.nTypeIdx - 1 and #self.tbGridsList or self.nTypeIdx - 1
self.nTypeIdx = math.max(self.nTypeIdx - 1, 1)
elseif self.nBannerDragPosX < 0 then
nPos = -self.nGridsWidth
self.nTypeIdx = self.nTypeIdx + 1 > #self.tbGridsList and 1 or self.nTypeIdx + 1
self.nTypeIdx = math.min(self.nTypeIdx + 1, #self.tbGridsList)
end
local tweener
for k, v in ipairs(self._mapNode.Grids) do
tweener = v:DOAnchorPosX(self.tbInitPos[k].x + nPos, 0.2):SetUpdate(true)
self.tweener = v:DOAnchorPosX(self.tbInitPos[k].x + nPos, 0.2):SetUpdate(true)
end
local _cb = function()
for k, v in ipairs(self._mapNode.Grids) do
@@ -282,7 +282,7 @@ function LevelSelectCtrl:OnDrag_ActBanner(mDrag)
end
self:RefreshGrids()
end
tweener.onComplete = dotween_callback_handler(self, _cb)
self.tweener.onComplete = dotween_callback_handler(self, _cb)
self.nBannerDragPosX = 0
end
end
@@ -4,7 +4,7 @@ LevelSelectPanel._sSortingLayerName = AllEnum.SortingLayerName.UI
LevelSelectPanel._tbDefine = {
{
sPrefabPath = "30101/Play/BreakOutLevelSelectPanel.prefab",
sCtrlName = "Game.UI.Play_BreakOut_30101.BreakOutLevelDetailCtr"
sCtrlName = "Game.UI.Play_BreakOut_30101.LevelSelectCtrl"
}
}
function LevelSelectPanel:Awake()