TineLineAnimationPlayableSerialization.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #if !COMBAT_SERVER
  2. using UnityEngine.Playables;
  3. using UnityEngine.Timeline;
  4. #endif
  5. using Fort23.Core;
  6. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
  7. [System.Serializable]
  8. public class TineLineAnimationPlayableSerialization : TimeLineAssetSerialization
  9. {
  10. public string animName;
  11. /// <summary>
  12. /// 0=默认 1=开启循环 2=关闭循环
  13. /// </summary>
  14. public int loopMode;
  15. public bool isRunPlay;
  16. public int layerId;
  17. public TineLineAnimationPlayableSerialization()
  18. {
  19. }
  20. #if !COMBAT_SERVER
  21. public TineLineAnimationPlayableSerialization(PlayableDirector playableDirector, GroupTrack groupTrack,
  22. TimelineClip timelineClip) : base(groupTrack, timelineClip)
  23. {
  24. TimeLinePlayEntityAnimtionAsset animationPlayableAsset = timelineClip.asset as TimeLinePlayEntityAnimtionAsset;
  25. if (animationPlayableAsset.clip != null)
  26. {
  27. animName = animationPlayableAsset.clip.name;
  28. loopMode = (int) animationPlayableAsset.loop;
  29. isRunPlay = animationPlayableAsset.isRunPlay;
  30. layerId = animationPlayableAsset.layerId;
  31. }
  32. }
  33. #endif
  34. public override TimeLineEventLogicBasic CreateLogic()
  35. {
  36. // return new TineLineAnimationEventLogic();
  37. return CObjectPool.Instance.Fetch<TineLineAnimationEventLogic>();
  38. }
  39. }