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:
@@ -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
|
||||
|
||||
+30
-32
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user