public IEnumerator VolumeIsUnmutedWhenUserEntersScene() { // We disable SceneController monobehaviour to avoid its current scene id update sceneController.enabled = false; // Set current scene as a different one CommonScriptableObjects.sceneID.Set("unexistent-scene"); DecentralandEntity entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(TestHelpers.CreateAudioSourceWithClipForEntity(entity)); DCLAudioSource dclAudioSource = entity.gameObject.GetComponentInChildren <DCLAudioSource>(); yield return(dclAudioSource.routine); AudioSource unityAudioSource = dclAudioSource.GetComponentInChildren <AudioSource>(); // Set current scene with this scene's id CommonScriptableObjects.sceneID.Set(scene.sceneData.id); // Check the volume Assert.AreEqual(unityAudioSource.volume, dclAudioSource.model.volume); }
public IEnumerator CreateAndLoadAudioClip(bool waitForLoading = true) { DecentralandEntity entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(TestHelpers.CreateAudioSourceWithClipForEntity(entity)); DCLAudioSource dclAudioSource = entity.gameObject.GetComponentInChildren <DCLAudioSource>(); AudioSource unityAudioSource = dclAudioSource.GetComponentInChildren <AudioSource>(); Assert.IsTrue(scene.entities.ContainsKey(entity.entityId), "Entity was not created correctly!"); Assert.IsTrue(dclAudioSource != null, "DCLAudioSource Creation Failure!"); Assert.IsTrue(unityAudioSource != null, "Unity AudioSource Creation Failure!"); yield return(dclAudioSource.routine); Assert.IsTrue(unityAudioSource.isPlaying, "Audio Source is not playing when it should!"); //NOTE(Brian): Stop test yield return(TestHelpers.CreateAudioSource(scene, entityId: entity.entityId, audioClipId: "audioClipTest", playing: false)); yield return(null); Assert.IsTrue(!unityAudioSource.isPlaying, "Audio Source is playing when it should NOT play!"); }
public IEnumerator AudioIsNotLooped() { DecentralandEntity entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(LoadAudioClip(scene, "1", DCL.Helpers.Utils.GetTestsAssetsPath() + "/Audio/short_effect.ogg", false, true, 1)); yield return(CreateAudioSource(scene, entity.entityId, "1", true, loop: false)); yield return(new WaitForSeconds((scene.GetSharedComponent("1") as DCLAudioClip).audioClip.length + 0.1f)); DCLAudioSource dclAudioSource = entity.components.Values.FirstOrDefault(x => x is DCLAudioSource) as DCLAudioSource; Assert.AreEqual(0, dclAudioSource.playTime); }
public static IEnumerator CreateAudioSource(ParcelScene scene, string entityId, string audioClipId, bool playing, bool loop = true) { var audioSourceModel = new DCLAudioSource.Model() { audioClipId = audioClipId, playing = playing, volume = 1.0f, loop = loop, pitch = 1.0f }; DCLAudioSource audioSource = TestHelpers.EntityComponentCreate <DCLAudioSource, DCLAudioSource.Model>(scene, scene.entities[entityId], audioSourceModel); yield return(audioSource.routine); }
public IEnumerator AudioIsNotLooped() { var entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(TestHelpers.LoadAudioClip(scene, "1", TestAssetsUtils.GetPath() + "/Audio/short_effect.ogg", false, true, 1)); yield return(TestHelpers.CreateAudioSource(scene, entity.entityId, "1", true, loop: false)); DCLAudioSource dclAudioSource = entity.components.Values.FirstOrDefault(x => x is DCLAudioSource) as DCLAudioSource; dclAudioSource.audioSource.time = dclAudioSource.audioSource.clip.length - 0.05f; yield return(new WaitForSeconds(0.1f)); Assert.AreEqual(0, dclAudioSource.playTime); }
public IEnumerator AudioIsLooped() { DecentralandEntity entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(TestHelpers.LoadAudioClip(scene, "1", DCL.Helpers.Utils.GetTestsAssetsPath() + "/Audio/short_effect.ogg", false, true, 1)); yield return(TestHelpers.CreateAudioSource(scene, entity.entityId, "1", true, loop: true)); DCLAudioSource dclAudioSource = entity.components.Values.FirstOrDefault(x => x is DCLAudioSource) as DCLAudioSource; float initTime = dclAudioSource.audioSource.clip.length - 0.05f; dclAudioSource.audioSource.time = initTime; yield return(new WaitForSeconds(0.1f)); Assert.IsTrue(dclAudioSource.playTime > 0 && dclAudioSource.playTime < initTime); }
public IEnumerator CreateAndLoadAudioClip(bool waitForLoading = true) { yield return(LoadAudioClip(scene, audioClipId: "audioClipTest", url: DCL.Helpers.Utils.GetTestsAssetsPath() + "/Audio/Train.wav", loop: true, loading: true, volume: 1.0f, waitForLoading: waitForLoading)); DecentralandEntity entity = TestHelpers.CreateSceneEntity(scene); yield return(null); //NOTE(Brian): Play test yield return(CreateAudioSource(scene, entityId: entity.entityId, audioClipId: "audioClipTest", playing: true)); DCLAudioSource dclAudioSource = entity.gameObject.GetComponentInChildren <DCLAudioSource>(); AudioSource unityAudioSource = dclAudioSource.GetComponentInChildren <AudioSource>(); Assert.IsTrue(scene.entities.ContainsKey(entity.entityId), "Entity was not created correctly!"); Assert.IsTrue(dclAudioSource != null, "DCLAudioSource Creation Failure!"); Assert.IsTrue(unityAudioSource != null, "Unity AudioSource Creation Failure!"); yield return(dclAudioSource.routine); Assert.IsTrue(unityAudioSource.isPlaying, "Audio Source is not playing when it should!"); //NOTE(Brian): Stop test yield return(CreateAudioSource(scene, entityId: entity.entityId, audioClipId: "audioClipTest", playing: false)); yield return(null); Assert.IsTrue(!unityAudioSource.isPlaying, "Audio Source is playing when it should NOT play!"); }
public IEnumerator VolumeWhenAudioCreatedWithNoUserInScene() { // We disable SceneController monobehaviour to avoid its current scene id update sceneController.enabled = false; // Set current scene as a different one CommonScriptableObjects.sceneID.Set("unexistent-scene"); var entity = TestHelpers.CreateSceneEntity(scene); yield return(null); yield return(TestHelpers.CreateAudioSourceWithClipForEntity(entity)); DCLAudioSource dclAudioSource = entity.gameObject.GetComponentInChildren <DCLAudioSource>(); yield return(dclAudioSource.routine); AudioSource unityAudioSource = dclAudioSource.GetComponentInChildren <AudioSource>(); // Check the volume Assert.AreEqual(0f, unityAudioSource.volume); }