private void OnDisable() { AkRoomPortalManager.RegisterRoomUpdate(this); RoomCount--; AkSoundEngine.RemoveRoom(GetID()); }
private void OnEnable() { var roomParams = new AkRoomParams(); roomParams.Up.X = transform.up.x; roomParams.Up.Y = transform.up.y; roomParams.Up.Z = transform.up.z; roomParams.Front.X = transform.forward.x; roomParams.Front.Y = transform.forward.y; roomParams.Front.Z = transform.forward.z; roomParams.ReverbAuxBus = reverbAuxBus.Id; roomParams.ReverbLevel = reverbLevel; roomParams.WallOcclusion = wallOcclusion; roomParams.RoomGameObj_AuxSendLevelToSelf = roomToneAuxSend; roomParams.RoomGameObj_KeepRegistered = roomToneEvent.IsValid() ? true : false; RoomCount++; AkSoundEngine.SetRoom(GetID(), roomParams, name); /// In case a room is disabled and re-enabled. AkRoomPortalManager.RegisterRoomUpdate(this); }
protected override void Awake() { var collider = GetComponent <UnityEngine.BoxCollider>(); collider.isTrigger = true; portalTransform = new AkTransform(); portalTransform.Set(collider.bounds.center.x, collider.bounds.center.y, collider.bounds.center.z, transform.forward.x, transform.forward.y, transform.forward.z, transform.up.x, transform.up.y, transform.up.z); extent = new AkVector(); extent.X = collider.size.x * transform.localScale.x / 2; extent.Y = collider.size.y * transform.localScale.y / 2; extent.Z = collider.size.z * transform.localScale.z / 2; RegisterTriggers(closePortalTriggerList, ClosePortal); AkRoomPortalManager.RegisterPortal(this); base.Awake(); //Call the ClosePortal function if registered to the Awake Trigger if (closePortalTriggerList.Contains(AWAKE_TRIGGER_ID)) { ClosePortal(null); } }
protected override void OnDestroy() { base.OnDestroy(); UnregisterTriggers(closePortalTriggerList, ClosePortal); if (closePortalTriggerList.Contains(DESTROY_TRIGGER_ID)) { ClosePortal(null); } AkRoomPortalManager.UnregisterPortal(this); }
public void LateUpdate() { #if UNITY_EDITOR if (!IsSoundEngineLoaded) { return; } #endif //Execute callbacks that occurred in last frame (not the current update) AkRoomPortalManager.UpdatePortals(); AkCallbackManager.PostCallbacks(); AkBankManager.DoUnloadBanks(); AkSoundEngine.RenderAudio(); }