public static IEnumerator LoadAudioClip(ParcelScene scene, string audioClipId, string url, bool loop, bool loading, float volume, bool waitForLoading = true) { DCLAudioClip.Model model = new DCLAudioClip.Model { url = url, loop = loop, shouldTryToLoad = loading, volume = volume }; DCLAudioClip audioClip = scene.SharedComponentCreate( audioClipId, (int)CLASS_ID.AUDIO_CLIP ) as DCLAudioClip; scene.SharedComponentUpdate(audioClipId, JsonUtility.ToJson(model)); yield return(audioClip.routine); Assert.IsTrue(scene.disposableComponents.ContainsKey(audioClipId), "Shared component was not created correctly!"); if (waitForLoading) { yield return(new WaitUntil( () => { return audioClip.loadingState != DCLAudioClip.LoadState.LOADING_IN_PROGRESS && audioClip.loadingState != DCLAudioClip.LoadState.IDLE; })); } }
public IEnumerator AudioClipMissingValuesGetDefaultedOnUpdate() { // 1. Create component with non-default configs DCLAudioClip.Model componentModel = new DCLAudioClip.Model { loop = true, shouldTryToLoad = false, volume = 0.8f }; DCLAudioClip audioClip = CreateAudioClip(componentModel); yield return(audioClip.routine); // 2. Check configured values Assert.IsTrue(audioClip.model.loop); Assert.IsFalse(audioClip.model.shouldTryToLoad); Assert.AreEqual(0.8f, audioClip.model.volume); // 3. Update component with missing values componentModel = new DCLAudioClip.Model { }; scene.SharedComponentUpdate(audioClip.id, JsonUtility.ToJson(componentModel)); yield return(audioClip.routine); // 4. Check defaulted values Assert.IsFalse(audioClip.model.loop); Assert.IsTrue(audioClip.model.shouldTryToLoad); Assert.AreEqual(1f, audioClip.model.volume); }
public DCLAudioClip CreateAudioClip(string url, bool loop, bool shouldTryToLoad, double volume) { DCLAudioClip.Model model = new DCLAudioClip.Model { url = url, loop = loop, shouldTryToLoad = shouldTryToLoad, volume = volume }; return(CreateAudioClip(model)); }
public DCLAudioClip CreateAudioClip(DCLAudioClip.Model model) { return(TestHelpers.SharedComponentCreate <DCLAudioClip, DCLAudioClip.Model>(scene, CLASS_ID.AUDIO_CLIP, model)); }