/// <summary> /// Uniquely adds listeners to the list /// </summary> /// <param name="listener"></param> /// <returns></returns> public bool Add(AkAudioListener listener) { if (listener == null) { return(false); } var gameObjectId = listener.GetAkGameObjectID(); if (listenerIdList.Contains(gameObjectId)) { return(false); } listenerIdList.Add(gameObjectId); changed = true; return(true); }
/// <summary> /// Removes listeners from the list /// </summary> /// <param name="listener"></param> /// <returns></returns> public virtual bool Remove(AkAudioListener listener) { if (listener == null) { return(false); } var gameObjectId = listener.GetAkGameObjectID(); if (!listenerIdList.Contains(gameObjectId)) { return(false); } listenerIdList.Remove(gameObjectId); listenerList.Remove(listener); return(true); }
void InitWiseDefaultListener() { if (!defaultSpatialListener) { GameObject listenerObj = new GameObject("DefaultAudioListenerObj"); defaultSpatialListener = listenerObj.AddComponent <AkAudioListener>(); defaultSpatialListener.SetIsDefaultListener(true); defaultListenerTrans = defaultSpatialListener.transform; if (Camera.main) { defaultListenerTrans.SetParent(Camera.main.transform); defaultListenerTrans.localPosition = Vector3.zero; } else { defaultListenerTrans.position = Vector3.zero; } } }
public void Handle(SimpleProto data) { var contexts = SingletonManager.Get <FreeUiManager>().Contexts1; var SelfPlayer = contexts.player.flagSelfEntity; if (data.Bs[0]) { var PlayerCamera = SelfPlayer.cameraObj.MainCamera.gameObject; if (PlayerCamera.GetComponent <AkAudioListener>() == null) { AkAudioListener Listener = PlayerCamera.AddComponent <AkAudioListener>(); AkSpatialAudioListener SpatialListener = PlayerCamera.AddComponent <AkSpatialAudioListener>(); Listener.enabled = true; SpatialListener.enabled = true; } else { PlayerCamera.GetComponent <AkAudioListener>().enabled = true; PlayerCamera.GetComponent <AkSpatialAudioListener>().enabled = true; } SelfPlayer.AudioController().StopDefaultListener(); } else { var CameraListener = SelfPlayer.cameraObj.MainCamera.gameObject.GetComponent <AkAudioListener>(); var CameraSpatialListener = SelfPlayer.cameraObj.MainCamera.gameObject.GetComponent <AkSpatialAudioListener>(); if (CameraListener != null) { CameraListener.enabled = false; CameraSpatialListener.enabled = false; UnityEngine.MonoBehaviour.Destroy(CameraListener); UnityEngine.MonoBehaviour.Destroy(CameraSpatialListener); SelfPlayer.AudioController().OpenDefaultListener(); } } }
public void Reset(AkAudioListener listener, AkSpatialAudioListener spatialListener) { DefaultListener = listener; SpatialListener = spatialListener; DefaultListenerObj = listener.GetComponent <AkGameObj>(); }
public AudioBattleListener(AkAudioListener listener, AkSpatialAudioListener spatialListener) { Reset(listener, spatialListener); }
internal void RemoveListener(AkAudioListener listener) { m_listeners.Remove(listener); }
internal void AddListener(AkAudioListener listener) { m_listeners.Add(listener); }
private void Awake() { AkAudioListener = GetComponent <AkAudioListener>(); }
// Use this for initialization void Start() { _actors = FindObjectsOfType<AKCustom_ActorAudioEmitter>(); _player = FindObjectOfType<HeroStateMachine>().gameObject; _listener = FindObjectOfType<AkAudioListener>(); }
public void RemoveFromInitialListenerList(AkAudioListener listener) { initialListenerList.Remove(listener); }
/// <summary> /// Adds an AkAudioListener to the container of listeners listening to this gameobject. /// </summary> /// <param name="listener"></param> /// <returns>Returns true if the listener was not previously in the list, false otherwise.</returns> public bool AddListener(AkAudioListener listener) { return(m_listeners.Add(listener)); }
static void UninstallIntegration() { try { // Close the Picker window AkWwisePicker window = EditorWindow.GetWindow <AkWwisePicker>("AkWwisePicker", true, typeof(EditorWindow).Assembly.GetType("UnityEditor.ConsoleWindow")); window.Close(); // Remove the WwiseGlobal object AkInitializer[] AkInitializers = FindObjectsOfType(typeof(AkInitializer)) as AkInitializer[]; if (AkInitializers.Length > 0) { GameObject.DestroyImmediate(AkInitializers[0].gameObject); } // Remove the AkAudioListener component from the camera AkAudioListener listener = Camera.main.gameObject.GetComponent <AkAudioListener>(); if (listener != null) { Component.DestroyImmediate(listener); } // Put back the built-in Audio Listener if (Camera.main.gameObject.GetComponent <AkAudioListener>() == null) { Camera.main.gameObject.AddComponent <AudioListener>(); } // Remove the plugins string pluginsDir = Path.Combine(Application.dataPath, "Plugins"); if (Directory.Exists(pluginsDir)) { string[] foundBundles = Directory.GetDirectories(pluginsDir, "AkSoundEngine*.bundle"); foreach (string bundle in foundBundles) { Directory.Delete(bundle, true); } string[] foundPlugins = Directory.GetFiles(pluginsDir, "AkSoundEngine*", SearchOption.AllDirectories); foreach (string plugin in foundPlugins) { File.Delete(plugin); } } // Remove the wwise settings xml file if (File.Exists(Path.Combine(Application.dataPath, WwiseSettings.WwiseSettingsFilename))) { File.Delete(Path.Combine(Application.dataPath, WwiseSettings.WwiseSettingsFilename)); } // Delete the Wwise folder within the Assets folder if (Directory.Exists(Path.Combine(Application.dataPath, "Wwise"))) { Directory.Delete(Path.Combine(Application.dataPath, "Wwise"), true); if (File.Exists(Path.Combine(Application.dataPath, "Wwise.meta"))) { File.Delete(Path.Combine(Application.dataPath, "Wwise.meta")); } } // Remove the generated SoundBanks string sbPath = AkUtilities.GetFullPath(Application.streamingAssetsPath, Settings.SoundbankPath); if (Directory.Exists(sbPath)) { Directory.Delete(sbPath, true); } // Delete the Mac documentation string docPath = Path.Combine(Path.Combine(Application.dataPath, ".."), "WwiseUnityIntegrationHelp_AppleCommon_en"); if (Directory.Exists(docPath)) { Directory.Delete(docPath, true); } // Re-activate built-in audio AkUnitySettingsParser.SetBoolValue("m_DisableAudio", false, "AudioManager"); AssetDatabase.Refresh(); } catch (Exception e) { Debug.Log(e.ToString()); } }
void OnGUI() { // Make sure everything is initialized // Use soundbank path, because Wwise project path can be empty. if (String.IsNullOrEmpty(WwiseSetupWizard.Settings.SoundbankPath) && WwiseSetupWizard.Settings.WwiseProjectPath == null) { WwiseSetupWizard.Settings = WwiseSettings.LoadSettings(); } if (VersionStyle == null) { InitGuiStyles(); } GUILayout.Label(m_WwiseVersionString, VersionStyle); DrawSettingsPart(); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("OK", GUILayout.Width(60))) { if (string.IsNullOrEmpty(WwiseSetupWizard.Settings.SoundbankPath)) { EditorUtility.DisplayDialog("Error", "Please fill in the required settings", "Ok"); } if (WwiseUpdateSettings.m_oldCreateWwiseGlobal != WwiseSetupWizard.Settings.CreateWwiseGlobal) { AkInitializer[] AkInitializers = UnityEngine.Object.FindObjectsOfType(typeof(AkInitializer)) as AkInitializer[]; if (WwiseSetupWizard.Settings.CreateWwiseGlobal == true) { if (AkInitializers.Length == 0) { //No Wwise object in this scene, create one so that the sound engine is initialized and terminated properly even if the scenes are loaded //in the wrong order. GameObject objWwise = new GameObject("WwiseGlobal"); //Attach initializer and terminator components AkInitializer init = objWwise.AddComponent <AkInitializer>(); AkWwiseProjectInfo.GetData().CopyInitSettings(init); } } else { if (AkInitializers.Length != 0 && AkInitializers[0].gameObject.name == "WwiseGlobal") { GameObject.DestroyImmediate(AkInitializers[0].gameObject); } } } if (WwiseUpdateSettings.m_oldCreateWwiseListener != WwiseSetupWizard.Settings.CreateWwiseListener) { if (Camera.main != null) { AkAudioListener akListener = Camera.main.GetComponentInChildren <AkAudioListener>(); if (akListener != null && WwiseSetupWizard.Settings.CreateWwiseListener == false) { Component.DestroyImmediate(akListener); } if (WwiseSetupWizard.Settings.CreateWwiseListener == true) { Camera.main.gameObject.AddComponent <AkAudioListener>(); } } } WwiseSettings.SaveSettings(WwiseSetupWizard.Settings); CloseWindow(); // Pop the Picker window so the user can start working right away AkWwiseProjectInfo.GetData(); // Load data AkWwiseProjectInfo.Populate(); AkWwisePicker.PopulateTreeview(); AkWwisePicker.init(); } if (GUILayout.Button("Cancel", GUILayout.Width(60))) { WwiseSetupWizard.Settings = WwiseSettings.LoadSettings(true); CloseWindow(); } GUILayout.Space(5); GUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.EndVertical(); }
public void SetGameObjectOutputBusVolume(GameObject gameObj, AkAudioListener listener, float volume) { AkSoundEngine.SetGameObjectOutputBusVolume(gameObj, mListener.gameObject, Mathf.Clamp(volume, minVolume, maxVolume)); }
public void Awake() { if (Instance == null) { Instance = this; } mGlobalObject = GameObject.Find("WwiseGlobal"); if (mGlobalObject == null) { var global = new GameObject("WwiseGlobal"); GameObject.DontDestroyOnLoad(global); AkInitializer akInitializer = global.AddComponent <AkInitializer>(); object settingObj = Resources.Load("AkWwiseInitializationSettings"); if (settingObj != null) { AkWwiseInitializationSettings settings = settingObj as AkWwiseInitializationSettings; akInitializer.InitializationSettings = settings; global.SetActive(true); } mMusicEmitter = CreateEmitter("MusicEmitter"); mSoundEmitter = CreateEmitter("SoundEmitter"); mVoiceEmitter = CreateEmitter("VoiceEmitter"); } else { mMusicEmitter = GameObject.Find("MusicEmitter"); mSoundEmitter = GameObject.Find("SoundEmitter"); mVoiceEmitter = GameObject.Find("VoiceEmitter"); if (mMusicEmitter == null) { mMusicEmitter = CreateEmitter("MusicEmitter"); } if (mSoundEmitter == null) { mSoundEmitter = CreateEmitter("SoundEmitter"); } if (mVoiceEmitter == null) { mVoiceEmitter = CreateEmitter("VoiceEmitter"); } } mListener = Camera.main.gameObject.GetComponent <AkAudioListener>(); //var audios = Game.Data.sound_raw.GetDataList(); //foreach (var audio in audios) //{ // mBankInfoDict.Add(audio.event_name, audio.bank_name); //} mBankInfoDict.Add("SFX_BG", "MySoundBank"); mBankInfoDict.Add("SFX_StopBG", "MySoundBank"); mBankInfoDict.Add("SFX_Shoot", "MySoundBank"); mBankInfoDict.Add("VO_OYe", "MyVoiceBank"); mBankInfoDict.Add("Player_FootSteps", "CharacterBank"); mBankInfoDict.Add("Player_HeartBeat", "CharacterBank"); AddBasePath(); //SetGameObjectOutputBusVolume(mMusicEmitter, mListener, 0);//关闭背景音乐音量 //SetGameObjectOutputBusVolume(mSoundEmitter, mListener, 0);//关闭音效音量 //SetGameObjectOutputBusVolume(mVoiceEmitter, mListener, 0);//关闭语音音量 }
// Use this for initialization void Start() { _sc = GetComponent<SightController> (); _listener = FindObjectOfType<AkAudioListener>(); }
void OnGUI() { // Make sure everything is initialized // Use soundbank path, because Wwise project path can be empty. if (String.IsNullOrEmpty(WwiseSetupWizard.Settings.SoundbankPath) && WwiseSetupWizard.Settings.WwiseProjectPath == null) { WwiseSetupWizard.Settings = WwiseSettings.LoadSettings(); } string initialProject = WwiseSetupWizard.Settings.WwiseProjectPath; if (VersionStyle == null) { InitGuiStyles(); } GUILayout.Label(m_WwiseVersionString, VersionStyle); DrawSettingsPart(); string newProject = WwiseSetupWizard.Settings.WwiseProjectPath; // DrawSettingsPart modifies WwiseSetupWizard.Settings.WwiseProjectPath directly. if (initialProject != newProject) { ApplyNewProject = true; } GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("OK", GUILayout.Width(60))) { if (string.IsNullOrEmpty(WwiseSetupWizard.Settings.SoundbankPath)) { EditorUtility.DisplayDialog("Error", "Please fill in the required settings", "Ok"); } if (AkWwiseSettingsWindow.m_oldCreateWwiseGlobal != WwiseSetupWizard.Settings.CreateWwiseGlobal) { AkInitializer[] AkInitializers = UnityEngine.Object.FindObjectsOfType(typeof(AkInitializer)) as AkInitializer[]; if (WwiseSetupWizard.Settings.CreateWwiseGlobal == true) { if (AkInitializers.Length == 0) { //No Wwise object in this scene, create one so that the sound engine is initialized and terminated properly even if the scenes are loaded //in the wrong order. GameObject objWwise = new GameObject("WwiseGlobal"); //Attach initializer and terminator components AkInitializer init = objWwise.AddComponent <AkInitializer>(); AkWwiseProjectInfo.GetData().CopyInitSettings(init); } } else { if (AkInitializers.Length != 0 && AkInitializers[0].gameObject.name == "WwiseGlobal") { GameObject.DestroyImmediate(AkInitializers[0].gameObject); } } } if (AkWwiseSettingsWindow.m_oldCreateWwiseListener != WwiseSetupWizard.Settings.CreateWwiseListener) { if (Camera.main != null) { AkAudioListener akListener = Camera.main.GetComponentInChildren <AkAudioListener>(); if (WwiseSetupWizard.Settings.CreateWwiseListener) { if (akListener == null) { akListener = Undo.AddComponent <AkAudioListener>(Camera.main.gameObject); AkGameObj akGameObj = akListener.GetComponentInChildren <AkGameObj>(); akGameObj.isEnvironmentAware = false; } // If Unity had already an audio listener, we want to remove it when adding our own. AudioListener unityListener = Camera.main.GetComponentInChildren <AudioListener>(); if (unityListener != null) { Component.DestroyImmediate(unityListener); } } } } if (m_oldShowMissingRigidBodyWarning != WwiseSetupWizard.Settings.ShowMissingRigidBodyWarning) { InternalEditorUtility.RepaintAllViews(); } WwiseSettings.SaveSettings(WwiseSetupWizard.Settings); CloseWindow(); // Pop the Picker window so the user can start working right away AkWwiseProjectInfo.GetData(); // Load data if (ApplyNewProject) { //Clear the data, the project path changed. AkWwiseProjectInfo.GetData().Reset(); ApplyNewProject = false; AkWwisePicker.WwiseProjectFound = true; } AkWwiseProjectInfo.Populate(); AkWwisePicker.PopulateTreeview(); AkWwisePicker.init(); } if (GUILayout.Button("Cancel", GUILayout.Width(60))) { WwiseSetupWizard.Settings = WwiseSettings.LoadSettings(true); CloseWindow(); } GUILayout.Space(EditorGUIUtility.standardVerticalSpacing); GUILayout.EndHorizontal(); GUILayout.Space(EditorGUIUtility.standardVerticalSpacing); GUILayout.EndVertical(); }
void ResetSceneData() { _actors = FindObjectsOfType<AKCustom_ActorAudioEmitter>(); _listener = FindObjectOfType<AkAudioListener> (); }
static void CheckWwiseGlobalExistance() { WwiseSettings settings = WwiseSettings.LoadSettings(); if (!settings.OldProject && (String.IsNullOrEmpty(EditorApplication.currentScene) || s_CurrentScene != EditorApplication.currentScene)) { // Look for a game object which has the initializer component AkInitializer[] AkInitializers = UnityEngine.Object.FindObjectsOfType(typeof(AkInitializer)) as AkInitializer[]; if (AkInitializers.Length == 0) { if (settings.CreateWwiseGlobal == true) { //No Wwise object in this scene, create one so that the sound engine is initialized and terminated properly even if the scenes are loaded //in the wrong order. GameObject objWwise = new GameObject("WwiseGlobal"); //Attach initializer and terminator components AkInitializer init = objWwise.AddComponent <AkInitializer>(); AkWwiseProjectInfo.GetData().CopyInitSettings(init); } } else { if (settings.CreateWwiseGlobal == false && AkInitializers[0].gameObject.name == "WwiseGlobal") { GameObject.DestroyImmediate(AkInitializers[0].gameObject); } //All scenes will share the same initializer. So expose the init settings consistently across scenes. AkWwiseProjectInfo.GetData().CopyInitSettings(AkInitializers[0]); } AkAudioListener[] akAudioListeners = UnityEngine.Object.FindObjectsOfType(typeof(AkAudioListener)) as AkAudioListener[]; if (akAudioListeners.Length == 0) { // Remove the audio listener script if (Camera.main != null && settings.CreateWwiseListener == true) { AudioListener listener = Camera.main.gameObject.GetComponent <AudioListener>(); if (listener != null) { Component.DestroyImmediate(listener); } // Add the AkAudioListener script if (Camera.main.gameObject.GetComponent <AkAudioListener>() == null) { Camera.main.gameObject.AddComponent <AkAudioListener>(); } } } else { if (settings.CreateWwiseListener == false) { AkAudioListener akListener = Camera.main.gameObject.GetComponent <AkAudioListener>(); if (akListener != null) { Component.DestroyImmediate(akListener); } } } s_CurrentScene = EditorApplication.currentScene; } }
/// <summary> /// Removes an AkAudioListener from the container of listeners listening to this gameobject. /// </summary> /// <param name="listener"></param> /// <returns>Returns true if the listener was previously in the list, false otherwise.</returns> public bool RemoveListener(AkAudioListener listener) { return(m_listeners.Remove(listener)); }
// Use this for initialization void Start() { _actors = FindObjectsOfType<AKCustom_ActorAudioEmitter>(); _listener = FindObjectOfType<AkAudioListener> (); }