CameraShakingSerializtion.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using CombatLibrary.CombatLibrary.CombatCore.Utility;
  2. #if !COMBAT_SERVER
  3. using Unity.IO.LowLevel.Unsafe;
  4. using UnityEngine;
  5. using UnityEngine.Playables;
  6. using UnityEngine.Timeline;
  7. #endif
  8. using Utility;
  9. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
  10. [System.Serializable]
  11. public class CameraShakingSerializtion : TimeLineAssetSerialization
  12. {
  13. public ShakeDirection direction;
  14. public int type;
  15. public CurveInfo[] keys;
  16. public int count;
  17. public float qiangDu;
  18. public CameraShakingSerializtion()
  19. {
  20. }
  21. #if !COMBAT_SERVER
  22. public CameraShakingSerializtion(PlayableDirector playableDirector, GroupTrack groupTrack, TimelineClip timelineClip) : base(groupTrack, timelineClip)
  23. {
  24. CameraShakingAsset audioPlayableAsset = timelineClip.asset as CameraShakingAsset;
  25. direction = audioPlayableAsset.direction;
  26. // type = audioPlayableAsset.type;
  27. count = audioPlayableAsset.count;
  28. totalTime = audioPlayableAsset.totalTime;
  29. qiangDu = audioPlayableAsset.qiangDu;
  30. if (audioPlayableAsset.AnimationCurve != null)
  31. {
  32. keys = new CurveInfo[audioPlayableAsset.AnimationCurve.keys.Length];
  33. for (int i = 0; i < audioPlayableAsset.AnimationCurve.keys.Length; i++)
  34. {
  35. CurveInfo curveInfo = new CurveInfo();
  36. curveInfo.t = audioPlayableAsset.AnimationCurve.keys[i].time;
  37. curveInfo.v = audioPlayableAsset.AnimationCurve.keys[i].value;
  38. curveInfo.it = audioPlayableAsset.AnimationCurve.keys[i].inTangent;
  39. curveInfo.ot = audioPlayableAsset.AnimationCurve.keys[i].outTangent;
  40. keys[i] = curveInfo;
  41. }
  42. }
  43. else
  44. {
  45. keys = new CurveInfo[2] {new CurveInfo(), new CurveInfo()};
  46. }
  47. }
  48. #endif
  49. public override TimeLineEventLogicBasic CreateLogic()
  50. {
  51. return new CameraShakingLogic();
  52. }
  53. }