public static void Terminate() { if (m_Instance != null) { m_Instance = null; } }
public override void OnEnable() { var roomParams = new AkRoomParams { Up = transform.up, Front = transform.forward, ReverbAuxBus = reverbAuxBus.Id, ReverbLevel = reverbLevel, WallOcclusion = wallOcclusion, RoomGameObj_AuxSendLevelToSelf = roomToneAuxSend, RoomGameObj_KeepRegistered = roomToneEvent.IsValid(), }; RoomCount++; AkSoundEngine.SetRoom(GetID(), roomParams, name); /// In case a room is disabled and re-enabled. AkRoomManager.RegisterRoomUpdate(this); // if objects entered the room while disabled, enter them now for (var i = 0; i < roomAwareObjectsDetectedWhileDisabled.Count; ++i) { AkRoomAwareManager.ObjectEnteredRoom(roomAwareObjectsDetectedWhileDisabled[i], this); } roomAwareObjectsDetectedWhileDisabled.Clear(); base.OnEnable(); }
public static void Init() { if (m_Instance == null) { m_Instance = new AkRoomManager(); } }
private void OnDisable() { for (var i = 0; i < roomAwareObjectsEntered.Count; ++i) { roomAwareObjectsEntered[i].ExitedRoom(this); AkRoomAwareManager.RegisterRoomAwareObjectForUpdate(roomAwareObjectsEntered[i]); roomAwareObjectsDetectedWhileDisabled.Add(roomAwareObjectsEntered[i]); } roomAwareObjectsEntered.Clear(); AkRoomManager.RegisterRoomUpdate(this); // in case a geometry was added with the room's ID, remove it if (previousColliderType == typeof(UnityEngine.MeshCollider) || previousColliderType == typeof(UnityEngine.BoxCollider) || previousColliderType == typeof(UnityEngine.SphereCollider) || previousColliderType == typeof(UnityEngine.CapsuleCollider)) { AkSoundEngine.RemoveGeometry(GetID()); } previousColliderType = null; // stop sounds applied to the room game object AkSoundEngine.StopAll(GetID()); RoomCount--; AkSoundEngine.RemoveRoom(GetID()); }
private void OnDisable() { AkRoomManager.UnregisterPortal(this); if (portalSet) { AkSoundEngine.RemovePortal(GetID()); } portalSet = false; }
private void OnDisable() { #if UNITY_EDITOR if (UnityEditor.BuildPipeline.isBuildingPlayer || AkUtilities.IsMigrating || !UnityEditor.EditorApplication.isPlaying) { return; } #endif RemoveGeometry(); AkRoomManager.UnregisterReflector(this); }
public void Terminate() { #if UNITY_EDITOR ClearInitializeState(); if (!IsSoundEngineLoaded) { return; } #endif AkWwiseInitializationSettings.TerminateSoundEngine(); AkRoomManager.Terminate(); }
public void Terminate() { #if UNITY_EDITOR ClearInitializeState(); if (!AkSoundEngine.EditorIsSoundEngineLoaded) { return; } #endif GetInitSettingsInstance().TerminateSoundEngine(); AkRoomManager.Terminate(); }
private void OnEnable() { #if UNITY_EDITOR if (UnityEditor.BuildPipeline.isBuildingPlayer || AkUtilities.IsMigrating || !UnityEditor.EditorApplication.isPlaying) { return; } #endif SetGeometry(); if (AssociatedRoom != null) { AkRoomManager.RegisterReflector(this); } }
private void OnDisable() { for (var i = 0; i < roomAwareObjectsEntered.Count; ++i) { roomAwareObjectsEntered[i].ExitedRoom(this); AkRoomAwareManager.RegisterRoomAwareObjectForUpdate(roomAwareObjectsEntered[i]); roomAwareObjectsDetectedWhileDisabled.Add(roomAwareObjectsEntered[i]); } roomAwareObjectsEntered.Clear(); AkRoomManager.RegisterRoomUpdate(this); RoomCount--; AkSoundEngine.RemoveRoom(GetID()); }
public void LateUpdate() { #if UNITY_EDITOR if (!IsSoundEngineLoaded) { return; } #endif //Execute callbacks that occurred in last frame (not the current update) AkRoomManager.Update(); AkRoomAwareManager.UpdateRoomAwareObjects(); AkCallbackManager.PostCallbacks(); AkBankManager.DoUnloadBanks(); AkSoundEngine.RenderAudio(); }
public void SetAssociatedRoom(AkRoom room) { if (AssociatedRoom != room) { AssociatedRoom = room; UpdateGeometry(); if (AssociatedRoom != null) { AkRoomManager.RegisterReflector(this); } else { AkRoomManager.UnregisterReflector(this); } } }
public void SetRoom() { ulong geometryID = GetGeometryID(); #if UNITY_EDITOR if (previousUp == transform.up && previousFront == transform.forward && previousReverbAuxBus == reverbAuxBus.Id && previousReverbLevel == reverbLevel && previousTransmissionLoss == transmissionLoss && previousRoomGameObj_AuxSendLevelToSelf == roomToneAuxSend && previousRoomGameObj_KeepRegistered == roomToneEvent.IsValid() && previousGeometryID == geometryID) { return; } #endif var roomParams = new AkRoomParams { Up = transform.up, Front = transform.forward, ReverbAuxBus = reverbAuxBus.Id, ReverbLevel = reverbLevel, TransmissionLoss = transmissionLoss, RoomGameObj_AuxSendLevelToSelf = roomToneAuxSend, RoomGameObj_KeepRegistered = roomToneEvent.IsValid(), }; RoomCount++; AkSoundEngine.SetRoom(GetID(), roomParams, geometryID, name); #if UNITY_EDITOR previousUp = transform.up; previousFront = transform.forward; previousReverbAuxBus = reverbAuxBus.Id; previousReverbLevel = reverbLevel; previousTransmissionLoss = transmissionLoss; previousRoomGameObj_AuxSendLevelToSelf = roomToneAuxSend; previousRoomGameObj_KeepRegistered = roomToneEvent.IsValid(); previousGeometryID = geometryID; #endif /// In case a room is disabled and re-enabled. AkRoomManager.RegisterRoomUpdate(this); }
public void UpdateRooms() { FindOverlappingRooms(roomList); bool wasUpdated = false; for (var i = 0; i < MAX_ROOMS_PER_PORTAL; ++i) { var room = roomList[i].GetHighestPriorityActiveAndEnabledRoom(); if (room != rooms[i]) { wasUpdated = true; } rooms[i] = room; } if (wasUpdated) { AkRoomManager.RegisterPortalUpdate(this); } }
public void Init(AkInitializer akInitializer) { // Only initialize the room mamanger during play. bool initRoomManager = true; #if UNITY_EDITOR if (!UnityEditor.EditorApplication.isPlaying) { initRoomManager = false; } #endif if (initRoomManager) { AkRoomManager.Init(); } if (akInitializer == null) { UnityEngine.Debug.LogError("WwiseUnity: AkInitializer must not be null. Sound engine will not be initialized."); return; } #if UNITY_EDITOR if (UnityEngine.Application.isPlaying && !IsTheSingleOwningInitializer(akInitializer)) { UnityEngine.Debug.LogError("WwiseUnity: Sound engine is already initialized."); return; } var arguments = System.Environment.GetCommandLineArgs(); if (System.Array.IndexOf(arguments, "-nographics") >= 0 && System.Array.IndexOf(arguments, "-wwiseEnableWithNoGraphics") < 0) { return; } var isInitialized = false; try { isInitialized = AkSoundEngine.IsInitialized(); IsSoundEngineLoaded = true; } catch (System.DllNotFoundException) { IsSoundEngineLoaded = false; UnityEngine.Debug.LogWarning("WwiseUnity: AkSoundEngine is not loaded."); return; } #else var isInitialized = AkSoundEngine.IsInitialized(); #endif AkLogger.Instance.Init(); if (isInitialized) { #if UNITY_EDITOR if (AkWwiseInitializationSettings.ResetSoundEngine(UnityEngine.Application.isPlaying || UnityEditor.BuildPipeline.isBuildingPlayer)) { UnityEditor.EditorApplication.update += LateUpdate; } if (UnityEditor.EditorApplication.isPaused && UnityEngine.Application.isPlaying) { AkSoundEngine.Suspend(true); } #else UnityEngine.Debug.LogError("WwiseUnity: Sound engine is already initialized."); #endif return; } #if UNITY_EDITOR if (UnityEditor.BuildPipeline.isBuildingPlayer) { return; } #endif if (!AkWwiseInitializationSettings.InitializeSoundEngine()) { return; } #if UNITY_EDITOR OnEnableEditorListener(akInitializer.gameObject); UnityEditor.EditorApplication.update += LateUpdate; #endif }
public override void OnEnable() { UpdateRooms(); AkRoomManager.RegisterPortal(this); base.OnEnable(); }
private void OnEnable() { UpdateRooms(); AkRoomManager.RegisterPortal(this); }