12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- using CombatLibrary.CombatLibrary.CombatCore.Utility;
- #if !COMBAT_SERVER
- using Unity.IO.LowLevel.Unsafe;
- using UnityEngine;
- using UnityEngine.Playables;
- using UnityEngine.Timeline;
- #endif
- using Utility;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
- [System.Serializable]
- public class CameraShakingSerializtion : TimeLineAssetSerialization
- {
- public ShakeDirection direction;
- public int type;
- public CurveInfo[] keys;
-
- public int count;
- public float qiangDu;
- public CameraShakingSerializtion()
- {
-
- }
- #if !COMBAT_SERVER
- public CameraShakingSerializtion(PlayableDirector playableDirector, GroupTrack groupTrack, TimelineClip timelineClip) : base(groupTrack, timelineClip)
- {
- CameraShakingAsset audioPlayableAsset = timelineClip.asset as CameraShakingAsset;
- direction = audioPlayableAsset.direction;
- // type = audioPlayableAsset.type;
- count = audioPlayableAsset.count;
- totalTime = audioPlayableAsset.totalTime;
- qiangDu = audioPlayableAsset.qiangDu;
- if (audioPlayableAsset.AnimationCurve != null)
- {
- keys = new CurveInfo[audioPlayableAsset.AnimationCurve.keys.Length];
- for (int i = 0; i < audioPlayableAsset.AnimationCurve.keys.Length; i++)
- {
- CurveInfo curveInfo = new CurveInfo();
- curveInfo.t = audioPlayableAsset.AnimationCurve.keys[i].time;
- curveInfo.v = audioPlayableAsset.AnimationCurve.keys[i].value;
- curveInfo.it = audioPlayableAsset.AnimationCurve.keys[i].inTangent;
- curveInfo.ot = audioPlayableAsset.AnimationCurve.keys[i].outTangent;
- keys[i] = curveInfo;
- }
-
- }
- else
- {
- keys = new CurveInfo[2] {new CurveInfo(), new CurveInfo()};
- }
- }
- #endif
- public override TimeLineEventLogicBasic CreateLogic()
- {
- return new CameraShakingLogic();
- }
- }
|