Ejemplo n.º 1
0
        private void FinishSetupToPlay()
        {
            if (!VarAudio.isPlaying && VarAudio.time > 0f)
            {
                // paused. Do nothing except Play
            }
            else if (useFades && (fadeInTime > 0f || fadeOutTime > 0f))
            {
                fadeMaxVolume = _maxVol;

                if (fadeInTime > 0f)
                {
                    VarAudio.volume = 0f;
                }

                if (VariationUpdater != null)
                {
                    VariationUpdater.enabled = true;
                    VariationUpdater.FadeInOut();
                }
            }

            VarAudio.loop = AudioLoops;
            // restore original loop setting in case it got lost by loop setting code below for a previous play.

            if (_playSndParam.IsPlaying && (_playSndParam.IsChainLoop || _playSndParam.IsSingleSubscribedPlay))
            {
                VarAudio.loop = false;
            }

            if (!_playSndParam.IsPlaying)
            {
                return; // has already been "stop" 'd.
            }

            ParentGroup.AddActiveAudioSourceId(InstanceId);

            if (VariationUpdater != null)
            {
                VariationUpdater.enabled = true;
                VariationUpdater.WaitForSoundFinish(_playSndParam.DelaySoundTime);
            }

            _attachToSource = false;

            var useClipAgePriority = MasterAudio.Instance.prioritizeOnDistance &&
                                     (MasterAudio.Instance.useClipAgePriority || ParentGroup.useClipAgePriority);

            if (!_playSndParam.AttachToSource && !useClipAgePriority)
            {
                return;
            }
            _attachToSource = _playSndParam.AttachToSource;

            if (VariationUpdater != null)
            {
                VariationUpdater.FollowObject(_attachToSource, ObjectToFollow, useClipAgePriority);
            }
        }
Ejemplo n.º 2
0
        /*! \endcond */

        private void EnableUpdater(bool waitForSoundFinish = true)
        {
            if (VariationUpdater != null)
            {
                VariationUpdater.enabled = true;
                if (waitForSoundFinish)
                {
                    VariationUpdater.WaitForSoundFinish(_playSndParam.DelaySoundTime);
                }
            }
        }
Ejemplo n.º 3
0
        /*! \endcond */

        private void EnableUpdater(bool waitForSoundFinish = true)
        {
            if (VariationUpdater != null)
            {
                VariationUpdater.enabled = true;
                VariationUpdater.Initialize();
                if (waitForSoundFinish)
                {
                    VariationUpdater.WaitForSoundFinish();
                }
            }
        }