コード例 #1
0
ファイル: AkRoom.cs プロジェクト: arsylvester/MovementFPS
    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());
    }
コード例 #2
0
ファイル: AkRoom.cs プロジェクト: RonaaFunk/Zurlough
    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();
    }
コード例 #3
0
ファイル: AkRoom.cs プロジェクト: Fabpk90/ArduinoWorkShop
    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());
    }
コード例 #4
0
ファイル: AkRoom.cs プロジェクト: arsylvester/MovementFPS
    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);
    }