コード例 #1
0
ファイル: AkRoomManager.cs プロジェクト: MatchWorkshop/No_18
 public static void Terminate()
 {
     if (m_Instance != null)
     {
         m_Instance = null;
     }
 }
コード例 #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
ファイル: AkRoomManager.cs プロジェクト: MatchWorkshop/No_18
 public static void Init()
 {
     if (m_Instance == null)
     {
         m_Instance = new AkRoomManager();
     }
 }
コード例 #4
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());
    }
コード例 #5
0
ファイル: AkRoomPortal.cs プロジェクト: RonaaFunk/Zurlough
 private void OnDisable()
 {
     AkRoomManager.UnregisterPortal(this);
     if (portalSet)
     {
         AkSoundEngine.RemovePortal(GetID());
     }
     portalSet = false;
 }
コード例 #6
0
    private void OnDisable()
    {
#if UNITY_EDITOR
        if (UnityEditor.BuildPipeline.isBuildingPlayer || AkUtilities.IsMigrating || !UnityEditor.EditorApplication.isPlaying)
        {
            return;
        }
#endif

        RemoveGeometry();
        AkRoomManager.UnregisterReflector(this);
    }
コード例 #7
0
    public void Terminate()
    {
#if UNITY_EDITOR
        ClearInitializeState();

        if (!IsSoundEngineLoaded)
        {
            return;
        }
#endif

        AkWwiseInitializationSettings.TerminateSoundEngine();
        AkRoomManager.Terminate();
    }
コード例 #8
0
    public void Terminate()
    {
#if UNITY_EDITOR
        ClearInitializeState();

        if (!AkSoundEngine.EditorIsSoundEngineLoaded)
        {
            return;
        }
#endif

        GetInitSettingsInstance().TerminateSoundEngine();
        AkRoomManager.Terminate();
    }
コード例 #9
0
    private void OnEnable()
    {
#if UNITY_EDITOR
        if (UnityEditor.BuildPipeline.isBuildingPlayer || AkUtilities.IsMigrating || !UnityEditor.EditorApplication.isPlaying)
        {
            return;
        }
#endif

        SetGeometry();
        if (AssociatedRoom != null)
        {
            AkRoomManager.RegisterReflector(this);
        }
    }
コード例 #10
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());
    }
コード例 #11
0
    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();
    }
コード例 #12
0
 public void SetAssociatedRoom(AkRoom room)
 {
     if (AssociatedRoom != room)
     {
         AssociatedRoom = room;
         UpdateGeometry();
         if (AssociatedRoom != null)
         {
             AkRoomManager.RegisterReflector(this);
         }
         else
         {
             AkRoomManager.UnregisterReflector(this);
         }
     }
 }
コード例 #13
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);
    }
コード例 #14
0
ファイル: AkRoomPortal.cs プロジェクト: RonaaFunk/Zurlough
    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);
        }
    }
コード例 #15
0
    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
    }
コード例 #16
0
ファイル: AkRoomPortal.cs プロジェクト: RonaaFunk/Zurlough
 public override void OnEnable()
 {
     UpdateRooms();
     AkRoomManager.RegisterPortal(this);
     base.OnEnable();
 }
コード例 #17
0
 private void OnEnable()
 {
     UpdateRooms();
     AkRoomManager.RegisterPortal(this);
 }