/// <summary> /// Sends the mesh's triangles and their acoustic texture to Spatial Audio /// </summary> public void SetGeometry() { if (!AkSoundEngine.IsInitialized()) { return; } if (Mesh == null) { UnityEngine.Debug.LogFormat("SetGeometry({0}): No mesh found!", gameObject.name); return; } SetGeometryFromMesh( Mesh, AcousticTextures, OcclusionValues, transform, GetID(), AkRoom.GetAkRoomID(AssociatedRoom && AssociatedRoom.enabled ? AssociatedRoom : null), EnableDiffraction, EnableDiffractionOnBoundaryEdges, name); }
public void SetRoom(int in_roomIndex, AkRoom in_room) { if (rooms[in_roomIndex] != in_room) { rooms[in_roomIndex] = in_room; } }
private void Update() { if (!UnityEditor.EditorApplication.isPlaying) { return; } if (previousMesh != Mesh || previousPosition != transform.position || previousRotation != transform.rotation || previousScale != transform.localScale || previousEnableDiffraction != EnableDiffraction || previousEnableDiffractionOnBoundaryEdges != EnableDiffractionOnBoundaryEdges || previousAcousticTextures != AcousticTextures || previousTransmissionLossValues != TransmissionLossValues) { UpdateGeometry(); } if (previousAssociatedRoom != AssociatedRoom) { SetAssociatedRoom(AssociatedRoom); } previousAssociatedRoom = AssociatedRoom; previousMesh = Mesh; previousPosition = transform.position; previousRotation = transform.rotation; previousScale = transform.localScale; previousEnableDiffraction = EnableDiffraction; previousEnableDiffractionOnBoundaryEdges = EnableDiffractionOnBoundaryEdges; previousAcousticTextures = AcousticTextures; previousTransmissionLossValues = TransmissionLossValues; }
public static void ObjectExitedRoom(UnityEngine.Collider collider, AkRoom room) { if (!collider) { return; } ObjectExitedRoom(AkRoomAwareObject.GetAkRoomAwareObjectFromCollider(collider), room); }
private void OnEnable() { m_AkRoom = target as AkRoom; reverbAuxBus = serializedObject.FindProperty("reverbAuxBus"); reverbLevel = serializedObject.FindProperty("reverbLevel"); wallOcclusion = serializedObject.FindProperty("wallOcclusion"); priority = serializedObject.FindProperty("priority"); }
public void AddAkRoom(AkRoom room) { int index = activeRooms.BinarySearch(room, AkRoom.s_compareByPriority); if (index < 0) { activeRooms.Insert(~index, room); } }
public void Add(AkRoom room) { var index = BinarySearch(room); if (index < 0) { rooms.Insert(~index, room); } }
public static void RegisterRoomUpdate(AkRoom room) { m_UpdatedRooms.Add(room); foreach (AkRoomPortal portal in m_Portals) { if (!m_PortalsToUpdate.Contains(portal) && (room == portal.frontRoom || room == portal.backRoom)) { m_PortalsToUpdate.Add(portal); } } }
public static void ObjectExitedRoom(AkRoomAwareObject roomAwareObject, AkRoom room) { if (!roomAwareObject || !room) { return; } room.Exit(roomAwareObject); roomAwareObject.ExitedRoom(room); RegisterRoomAwareObjectForUpdate(roomAwareObject); }
public int BinarySearch(AkRoom room) { if (room) { return(rooms.BinarySearch(room, s_compareByPriority)); } else { return(-1); } }
private void OnEnable() { m_PostEventHandlerInspector.Init(serializedObject, "triggerList", "Trigger On: ", false); m_AkRoom = target as AkRoom; reverbAuxBus = serializedObject.FindProperty("reverbAuxBus"); reverbLevel = serializedObject.FindProperty("reverbLevel"); transmissionLoss = serializedObject.FindProperty("transmissionLoss"); priority = serializedObject.FindProperty("priority"); roomToneEvent = serializedObject.FindProperty("roomToneEvent"); roomToneAuxSend = serializedObject.FindProperty("roomToneAuxSend"); }
public bool Overlaps(AkRoom room) { FindOverlappingRooms(roomList); for (int i = 0; i < MAX_ROOMS_PER_PORTAL; ++i) { if (roomList[i].Contains(room)) { return(true); } } return(false); }
public static void ObjectEnteredRoom(AkRoomAwareObject roomAwareObject, AkRoom room) { if (!roomAwareObject || !room) { return; } var enteredRoom = room.TryEnter(roomAwareObject); if (enteredRoom) { roomAwareObject.EnteredRoom(room); RegisterRoomAwareObjectForUpdate(roomAwareObject); } }
public void SetAssociatedRoom(AkRoom room) { if (AssociatedRoom != room) { AssociatedRoom = room; UpdateGeometry(); if (AssociatedRoom != null) { AkRoomManager.RegisterReflector(this); } else { AkRoomManager.UnregisterReflector(this); } } }
public static void RegisterRoomUpdate(AkRoom room) { if (m_Instance != null) { for (var i = 0; i < m_Instance.m_Portals.Count; ++i) { var portal = m_Instance.m_Portals[i]; if (!m_Instance.m_PortalsToUpdate.Contains(portal) && (room == portal.frontRoom || room == portal.backRoom || portal.Overlaps(room))) { m_Instance.m_PortalsToUpdate.Add(portal); } } for (var i = 0; i < m_Instance.m_Reflectors.Count; ++i) { var reflector = m_Instance.m_Reflectors[i]; if (!m_Instance.m_ReflectorsToUpdate.Contains(reflector) && (reflector.AssociatedRoom == room)) { m_Instance.m_ReflectorsToUpdate.Add(reflector); } } } }
public bool Contains(AkRoom room) { return(BinarySearch(room) >= 0); }
public int BinarySearch(AkRoom room) { return(room ? rooms.BinarySearch(room, s_compareByPriority) : -1); }
public void SetBackRoom(AkRoom room) { SetRoom(0, room); }
public void Remove(AkRoom room) { rooms.Remove(room); }
static void SelectAkRoomAuxBusInWwisePicker(UnityEditor.MenuCommand command) { AkRoom component = (AkRoom)command.context; SelectInWwisePicker(component.reverbAuxBus.ObjectReference.Guid); }
static void SelectAkRoomEventInWwisePicker(UnityEditor.MenuCommand command) { AkRoom component = (AkRoom)command.context; SelectInWwisePicker(component.roomToneEvent.ObjectReference.Guid); }
/// <summary> /// Called when exiting a room. /// </summary> /// <param name="room">The room.</param> public void ExitedRoom(AkRoom room) { roomPriorityList.Remove(room); }
public void EnteredRoom(AkRoom room) { m_roomData.AddAkRoom(room); SetGameObjectInHighestPriorityRoom(); }
public void ExitedRoom(AkRoom room) { m_roomData.RemoveAkRoom(room); SetGameObjectInHighestPriorityRoom(); }
private bool IsRoomActive(AkRoom in_room) { return(in_room != null && in_room.isActiveAndEnabled); }
public static ulong GetAkRoomID(AkRoom room) { return(room == null ? INVALID_ROOM_ID : room.GetID()); }
public void SetBackRoom(AkRoom room) { UnityEngine.Debug.LogFormat("SetBackRoom is deprecated. Highest priority, active and enabled room will be automatically chosen. Make sure room priorities and game object placements are correct."); }
private void SetGameObjectInRoom(AkRoom room) { AkSoundEngine.SetGameObjectInRoom(gameObject, room == null ? AkRoom.INVALID_ROOM_ID : room.GetID()); }
public bool Contains(AkRoom room) { return(room && rooms.Contains(room)); }
/// <summary> /// Called when entering a room. /// </summary> /// <param name="room">The room.</param> public void EnteredRoom(AkRoom room) { roomPriorityList.Add(room); }