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); }
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); }
public bool CanPlay(AnimationClip clip, AnimSettings settings) { return(TestLayer(settings.layer)); }