Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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;
         }
     }
 }
Exemplo n.º 4
0
        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();
                }
            }
        }
Exemplo n.º 5
0
 public void Reset(AkAudioListener listener, AkSpatialAudioListener spatialListener)
 {
     DefaultListener    = listener;
     SpatialListener    = spatialListener;
     DefaultListenerObj = listener.GetComponent <AkGameObj>();
 }
Exemplo n.º 6
0
 public AudioBattleListener(AkAudioListener listener, AkSpatialAudioListener spatialListener)
 {
     Reset(listener, spatialListener);
 }
Exemplo n.º 7
0
 internal void RemoveListener(AkAudioListener listener)
 {
     m_listeners.Remove(listener);
 }
Exemplo n.º 8
0
 internal void AddListener(AkAudioListener listener)
 {
     m_listeners.Add(listener);
 }
Exemplo n.º 9
0
 private void Awake()
 {
     AkAudioListener = GetComponent <AkAudioListener>();
 }
 // Use this for initialization
 void Start()
 {
     _actors = FindObjectsOfType<AKCustom_ActorAudioEmitter>();
     _player = FindObjectOfType<HeroStateMachine>().gameObject;
     _listener = FindObjectOfType<AkAudioListener>();
 }
Exemplo n.º 11
0
 public void RemoveFromInitialListenerList(AkAudioListener listener)
 {
     initialListenerList.Remove(listener);
 }
Exemplo n.º 12
0
 /// <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));
 }
Exemplo n.º 13
0
    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());
        }
    }
Exemplo n.º 14
0
    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();
    }
Exemplo n.º 15
0
 public void SetGameObjectOutputBusVolume(GameObject gameObj, AkAudioListener listener, float volume)
 {
     AkSoundEngine.SetGameObjectOutputBusVolume(gameObj, mListener.gameObject, Mathf.Clamp(volume, minVolume, maxVolume));
 }
Exemplo n.º 16
0
    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;
        }
    }
Exemplo n.º 21
0
 /// <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> ();
 }