コード例 #1
0
        private object PlayClip(SPAnimationController controller, UnityEngine.Object clip)
        {
            if (controller == null || !controller.isActiveAndEnabled || clip == null)
            {
                return(null);
            }

            if (clip is AnimationClip)
            {
                if (_crossFadeDur > 0f)
                {
                    return(controller.CrossFadeAuxiliary(clip as AnimationClip,
                                                         (_settingsMask != 0) ? AnimSettings.Intersect(AnimSettings.Default, _settings, _settingsMask) : AnimSettings.Default,
                                                         _crossFadeDur, _queueMode, _playMode));
                }
                else
                {
                    return(controller.PlayAuxiliary(clip as AnimationClip,
                                                    (_settingsMask != 0) ? AnimSettings.Intersect(AnimSettings.Default, _settings, _settingsMask) : AnimSettings.Default,
                                                    _queueMode, _playMode));
                }
            }
            else if (clip is IScriptableAnimationClip)
            {
                return(controller.Play(clip as IScriptableAnimationClip));
            }

            return(null);
        }
コード例 #2
0
        private object PlayClip(SPAnimationController controller, UnityEngine.Object clip)
        {
            if (clip is AnimationClip)
            {
                var anim = controller.CreateAuxiliarySPAnim(clip as AnimationClip);
                if (_applyCustomSettings)
                {
                    _settings.Apply(anim);
                }
                if (_crossFadeDur > 0f)
                {
                    anim.CrossFade(_crossFadeDur, _queueMode, _playMode);
                }
                else
                {
                    anim.Play(_queueMode, _playMode);
                }
                return(anim);
            }
            else if (clip is IScriptableAnimationClip)
            {
                return(controller.Play(clip as IScriptableAnimationClip));
            }

            return(null);
        }