コード例 #1
0
        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;
                }));
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
 public DCLAudioClip CreateAudioClip(DCLAudioClip.Model model)
 {
     return(TestHelpers.SharedComponentCreate <DCLAudioClip, DCLAudioClip.Model>(scene, CLASS_ID.AUDIO_CLIP, model));
 }