Exemple #1
0
        public SPAnim CrossFadeAuxiliary(AnimationClip clip, AnimSettings settings, float fadeLength, QueueMode queueMode = QueueMode.PlayNow, PlayMode playMode = PlayMode.StopSameLayer, string auxId = null)
        {
            if (_animation == null)
            {
                throw new AnimationInvalidAccessException();
            }
            if (clip == null)
            {
                throw new System.ArgumentNullException("clip");
            }
            if (!_initialized)
            {
                this.Init();
            }
            if (this.ControllerMask != null && !this.ControllerMask.CanPlay(clip, settings))
            {
                return(null);
            }

            var id   = this.AddAuxiliaryClip(clip, auxId);
            var anim = SPAnim.Create(_animation, id);

            settings.Apply(anim);
            anim.CrossFade(fadeLength, queueMode, playMode);
            return(anim);
        }
Exemple #2
0
        public string CrossFadeAuxiliaryDirectly(AnimationClip clip, AnimSettings settings, float fadeLength, PlayMode playMode = PlayMode.StopSameLayer, string auxId = null)
        {
            if (_animation == null)
            {
                throw new AnimationInvalidAccessException();
            }
            if (clip == null)
            {
                throw new System.ArgumentNullException("clip");
            }
            if (!_initialized)
            {
                this.Init();
            }
            if (this.ControllerMask != null && !this.ControllerMask.CanPlay(clip, settings))
            {
                return(null);
            }

            var id   = this.AddAuxiliaryClip(clip, auxId);
            var anim = _animation[id];

            settings.Apply(anim);
            this.CrossFadeInternal(id, fadeLength, playMode, anim.layer);
            return(id);
        }
Exemple #3
0
 public bool CanPlay(AnimationClip clip, AnimSettings settings)
 {
     return(TestLayer(settings.layer));
 }