From 8fafdba7fc121f86498ea9d993d7cc872fc1083d Mon Sep 17 00:00:00 2001 From: xiekaidong Date: Fri, 21 Apr 2023 21:40:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E6=96=97=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/common/audio_manager.lua | 35 ++++++++++++++----- .../battle/controller/battle_controller.lua | 22 +++++++++++- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/lua/app/common/audio_manager.lua b/lua/app/common/audio_manager.lua index 96b41397..404f173e 100644 --- a/lua/app/common/audio_manager.lua +++ b/lua/app/common/audio_manager.lua @@ -16,18 +16,37 @@ AudioManager.CLICK_ID = { AudioManager.EFFECT_ID = { BUTTON = "assets/arts/sounds/sfx/ui/ui_button.wav", - REWARD = "assets/arts/sounds/sfx/ui/sfx_reward.wav", - SFX_TOAST = "assets/arts/sounds/sfx/ui/sfx_toast.wav", - SFX_SUMMON = "assets/arts/sounds/sfx/ui/sfx_summon.wav", - SFX_ITEM_9 = "assets/arts/sounds/sfx/ui/sfx_item_9.wav", - SFX_ITEM_10 = "assets/arts/sounds/sfx/ui/sfx_item_10.wav", - SFX_ITEM_11 = "assets/arts/sounds/sfx/ui/sfx_item_11.wav", - SFX_UPGRADE = "assets/arts/sounds/sfx/ui/sfx_upgrade.wav", - SFX_TRAIN = "assets/arts/sounds/sfx/ui/sfx_train.wav", + LINK_BO_1 = "assets/arts/sounds/sfx/battle/bo1.wav", + LINK_BO_2 = "assets/arts/sounds/sfx/battle/bo2.wav", + LINK_BO_3 = "assets/arts/sounds/sfx/battle/bo3.wav", + LINK_BO_4 = "assets/arts/sounds/sfx/battle/bo4.wav", + LINK_BO_5 = "assets/arts/sounds/sfx/battle/bo5.wav", + LINK_BO_6 = "assets/arts/sounds/sfx/battle/bo6.wav", + LINK_BO_7 = "assets/arts/sounds/sfx/battle/bo7.wav", + LINK_BO_8 = "assets/arts/sounds/sfx/battle/bo8.wav", + LINK_OVER = "assets/arts/sounds/sfx/battle/link_over.wav", + LINK_READY = "assets/arts/sounds/sfx/battle/link_ready.wav", + LINK_SKILL = "assets/arts/sounds/sfx/battle/link_skill.wav", +} + +AudioManager.BO_EFFECT_ID = { + [1] = AudioManager.EFFECT_ID.LINK_BO_1, + [2] = AudioManager.EFFECT_ID.LINK_BO_2, + [3] = AudioManager.EFFECT_ID.LINK_BO_3, + [4] = AudioManager.EFFECT_ID.LINK_BO_4, + [5] = AudioManager.EFFECT_ID.LINK_BO_5, + [6] = AudioManager.EFFECT_ID.LINK_BO_6, + [7] = AudioManager.EFFECT_ID.LINK_BO_7, + [8] = AudioManager.EFFECT_ID.LINK_BO_8, } AudioManager.EFFECT_PREFIX = "assets/arts/sounds/sfx/ui/%s.wav" +function AudioManager:getBoEffectID(index) + local id = AudioManager.BO_EFFECT_ID[index] or AudioManager.EFFECT_ID.LINK_BO_8 + return id +end + function AudioManager:init() self.musicEnabled = nil self.effectEnabled = nil diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua index 7092547c..84185f35 100644 --- a/lua/app/module/battle/controller/battle_controller.lua +++ b/lua/app/module/battle/controller/battle_controller.lua @@ -563,11 +563,19 @@ function BattleController:onLinkStart(entity, posId, isVirtual) self.battleUI:showBoardMask(maskElementType) self:findSkillInfluenceGrids() self:onLinkChange() + + if not isVirtual then + AudioManager:playEffect(AudioManager.EFFECT_ID.LINK_BO_1) + if skillEntity then + AudioManager:playEffect(AudioManager.EFFECT_ID.LINK_SKILL) + end + end end function BattleController:onLinkEnter(entity, posId, isVirtual) local sequence = self.battleData:getGridSequence() - local info = sequence[#sequence] + local sequenceCount = #sequence + local info = sequence[sequenceCount] local lastPosId = info and info.posId if not lastPosId then return @@ -643,6 +651,16 @@ function BattleController:onLinkEnter(entity, posId, isVirtual) self:findSkillInfluenceGrids() self:onLinkChange() + + if not isVirtual then + if sequenceCount + 1 == self:getMinEliminationCount() then + AudioManager:playEffect(AudioManager.EFFECT_ID.LINK_READY) + end + AudioManager:playEffect(AudioManager:getBoEffectID(sequenceCount + 1)) + if skillEntity then + AudioManager:playEffect(AudioManager.EFFECT_ID.LINK_SKILL) + end + end end function BattleController:onLinkCancelOrUp(entity, posId, isVirtual) @@ -650,6 +668,8 @@ function BattleController:onLinkCancelOrUp(entity, posId, isVirtual) return end + AudioManager:playEffect(AudioManager.EFFECT_ID.LINK_OVER) + local tutorialElementList if DataManager.TutorialData:getIsInTutorial() then tutorialElementList = DataManager.TutorialData:getTargetElement()