| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- using System;
 
- using System.Collections.Generic;
 
- using Animancer;
 
- using Animancer.TransitionLibraries;
 
- using Core.Triiger;
 
- using Fort23.UTool;
 
- using UnityEngine;
 
- using UnityEngine.AI;
 
- using Utility;
 
- namespace GameLogic.Combat.Hero
 
- {
 
-     public class CombatHeroAnimtion : HeroAnimtionBasic
 
-     {
 
-         public AnimancerComponent AnimancerComponent;
 
-         protected Map<string, TransitionAsset> _transitionMap = new Map<string, TransitionAsset>();
 
-         protected override void ProInit()
 
-         {
 
-             AnimancerComponent = combatHeroEntity.GameObject.GetComponentInChildren<AnimancerComponent>();
 
-             // AnimancerComponent.gameObject.OnAnimatorMove(OnAnimatorMove);
 
-             if (AnimancerComponent != null)
 
-             {
 
-                 // AnimancerComponent.GetAnimationClips();
 
-                 // List<AnimationClip> results = new List<AnimationClip>();
 
-                 // AnimancerComponent.Transitions.GetAnimationClips(results);
 
-                 int max = AnimancerComponent.Transitions.Library.Count;
 
-                 for (int i = 0; i < max; i++)
 
-                 {
 
-                     if (AnimancerComponent.Transitions.Library.TryGetTransition(i,
 
-                             out TransitionModifierGroup transition))
 
-                     {
 
-                         TransitionAsset clipTransition2 = transition.Transition as TransitionAsset;
 
-                         _transitionMap[clipTransition2.name] = clipTransition2;
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         // protected void OnAnimatorMove()
 
-         // {
 
-         //     if (AnimancerComponent == null || AnimancerComponent.Animator.velocity.sqrMagnitude < .01f)
 
-         //     {
 
-         //         return;
 
-         //     }
 
-         //
 
-         //     bool isOk = false;
 
-         //
 
-         //
 
-         //
 
-         //     combatHeroEntity.CombatAIBasic.NavMeshAgent.Raycast(AnimancerComponent.Animator.rootPosition,
 
-         //         out NavMeshHit hit);
 
-         //     if (!hit.hit)
 
-         //     {
 
-         //         combatHeroEntity.combatHeroGameObject.SetPosition(AnimancerComponent.Animator.rootPosition);
 
-         //     }
 
-         //
 
-         // }
 
-         public override HeroPlayStateInfoBasic Play(string name, float speed = 1)
 
-         {
 
-             if (!_transitionMap.TryGetValue(name, out TransitionAsset clipTransition))
 
-             {
 
-                 // LogTool.Log("没有找到要播放的动画" + name);
 
-                 return null;
 
-             }
 
-             // clipTransition.Speed = speed;
 
-             // clipTransition. = isLoop;
 
-             AnimancerState animancerState = AnimancerComponent.Play(clipTransition);
 
-             // AnimancerComponent.Animator.speed = speed;
 
-             animancerState.Speed = speed;
 
-             HeroAnimtionStateInfo heroPlayStateInfoBasic = new HeroAnimtionStateInfo();
 
-             heroPlayStateInfoBasic.animancerState = animancerState;
 
-             return heroPlayStateInfoBasic;
 
-         }
 
-         public void Dispose()
 
-         {
 
-             _transitionMap.Clear();
 
-             AnimancerComponent = null;
 
-         }
 
-     }
 
- }
 
 
  |