You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.9 KiB
103 lines
2.9 KiB
local _, addon = ...
|
|
local API = addon.API;
|
|
|
|
local PlaySoundFile = PlaySoundFile;
|
|
local PlaySoundKit = PlaySound;
|
|
|
|
--[[
|
|
local SoundPanel = CreateFrame("Frame");
|
|
|
|
function SoundPanel:OnUpdate(elapsed)
|
|
self.t = self.t + elapsed;
|
|
if self.t > 0.1 then
|
|
self.t = 0;
|
|
self:Unlock();
|
|
end
|
|
end
|
|
|
|
function SoundPanel:Start()
|
|
if not self.isPlaying then
|
|
self.isPlaying = true;
|
|
self.t = 0;
|
|
self:SetScript("OnUpdate", self.OnUpdate);
|
|
end
|
|
end
|
|
|
|
function SoundPanel:Unlock()
|
|
self.isPlaying = nil;
|
|
self:SetScript("OnUpdate", nil);
|
|
end
|
|
|
|
--]]
|
|
|
|
local PATH = "Interface/AddOns/DialogueUI/Sound/";
|
|
local SOUNDS = {
|
|
DIALOG_OPTION_CLICK = "paper-collect-1.mp3",
|
|
DIALOG_OPTION_ENTER = "paper-collect-2.mp3",
|
|
QUEST_TEXT_SHOW = "page-turn-1.mp3",
|
|
};
|
|
|
|
local SOUNDKIT = SOUNDKIT or {};
|
|
local SOUND_KIT = {
|
|
["SOUNDKIT.IG_QUEST_LIST_OPEN"] = SOUNDKIT.IG_QUEST_LIST_OPEN,
|
|
["CHECKBOX_ON"] = SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON,
|
|
["CHECKBOX_OFF"] = SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_OFF,
|
|
};
|
|
|
|
local function PlaySound(name)
|
|
if SOUNDS[name] then
|
|
PlaySoundFile(PATH..SOUNDS[name]);
|
|
elseif SOUND_KIT[name] then
|
|
PlaySoundKit(SOUND_KIT[name])
|
|
end
|
|
end
|
|
addon.PlaySound = PlaySound;
|
|
|
|
|
|
do --Mute Target Lost Sound while interacting with NPC --Mute UI open/close sound briefly
|
|
--https://wago.tools/db2/SoundKitEntry?filter[SoundKitID]=684&page=1&sort[SoundKitID]=asc
|
|
--local soundKitID = (SOUNDKIT and SOUNDKIT.INTERFACE_SOUND_LOST_TARGET_UNIT) or 684;
|
|
|
|
local SHOULD_MUTE_FILE = true;
|
|
local SOUND_FILE_ID = 567520;
|
|
local MuteSoundFile = MuteSoundFile;
|
|
local UnmuteSoundFile = UnmuteSoundFile;
|
|
|
|
local function MuteTargetLostSound()
|
|
if SHOULD_MUTE_FILE then
|
|
MuteSoundFile(SOUND_FILE_ID);
|
|
end
|
|
end
|
|
|
|
local function UnmuteTargetLostSound()
|
|
if SHOULD_MUTE_FILE then
|
|
UnmuteSoundFile(SOUND_FILE_ID);
|
|
end
|
|
end
|
|
|
|
addon.CallbackRegistry:Register("DialogueUI.Show", MuteTargetLostSound);
|
|
addon.CallbackRegistry:Register("DialogueUI.Hide", UnmuteTargetLostSound);
|
|
|
|
|
|
local function BrieflyMuteUIOpenHideSound()
|
|
--SOUNDKIT.IG_MAINMENU_OPEN, SOUNDKIT.IG_MAINMENU_CLOSE
|
|
local s1, s2 = 567490, 567464;
|
|
MuteSoundFile(s1);
|
|
MuteSoundFile(s2);
|
|
C_Timer.After(0.03, function()
|
|
UnmuteSoundFile(s1);
|
|
UnmuteSoundFile(s2);
|
|
end);
|
|
end
|
|
API.BrieflyMuteUIOpenHideSound = BrieflyMuteUIOpenHideSound;
|
|
|
|
|
|
local function Settings_MuteTargetLostSound(dbValue)
|
|
if dbValue == false then
|
|
SHOULD_MUTE_FILE = false;
|
|
else
|
|
SHOULD_MUTE_FILE = true;
|
|
end
|
|
end
|
|
addon.CallbackRegistry:Register("SettingChanged.MuteTargetLostSound", Settings_MuteTargetLostSound);
|
|
end
|