Пример #1
0
 public void Init(Animator animator, string path)
 {
     _animator             = animator;
     _runtimeAnimatorProxy = ResourceMgr.Instance.LoadAssetProxy(AssetType.AnimeCtrl, path);
     _runtimeAnimatorProxy.AddLoadFinishCallBack(() =>
     {
         RuntimeAnimatorController ctrl = _runtimeAnimatorProxy.LoadUnitySharedAsset <RuntimeAnimatorController>();
         if (ctrl)
         {
             _animator.runtimeAnimatorController = ctrl;
             _animatorOverrideController         = ctrl as AnimatorOverrideController;
             _animator.Rebind();
         }
     });
 }
Пример #2
0
 public void OverrideAnimationClip(string name, string path, bool autoPlay = true)
 {
     _animationClipProxy = ResourceMgr.Instance.LoadAssetProxy(AssetType.AnimeClip, path);
     _animationClipProxy.AddLoadFinishCallBack(() =>
     {
         AnimationClip clip = _animationClipProxy.LoadUnitySharedAsset <AnimationClip>();
         if (_animatorOverrideController && clip)
         {
             _animatorOverrideController[name]   = clip;
             _animator.runtimeAnimatorController = _animatorOverrideController;
             _AnimationInfo.Data[name]           = clip;
             _animator.Rebind();
             if (autoPlay)
             {
                 _animator.Play(name);
             }
         }
     });
 }