public void StopClip(AtomAnimationClip clip)
        {
            if (clip.playbackEnabled)
            {
                clip.Leave();
                clip.Reset(false);
                if (clip.animationPattern)
                {
                    clip.animationPattern.SetBoolParamValue("loopOnce", true);
                }
            }
            else
            {
                clip.playbackMainInLayer = false;
            }

            if (isPlaying)
            {
                if (!clips.Any(c => c.playbackMainInLayer))
                {
                    isPlaying  = false;
                    sequencing = false;
                }

                onIsPlayingChanged.Invoke(clip);
            }
        }
Esempio n. 2
0
        public void StopClip(AtomAnimationClip clip)
        {
            if (!clip.playbackEnabled)
            {
                return;
            }
            clip.Leave();
            clip.Reset(false);
            if (clip.animationPattern)
            {
                clip.animationPattern.SetBoolParamValue("loopOnce", true);
            }

            if (!clips.Any(c => c.playbackMainInLayer))
            {
                isPlaying = false;
                playTime  = current.clipTime;
            }

            onIsPlayingChanged.Invoke(clip);
        }