TimeLineAudioSeralization.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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 TimeLineAudioSeralization : TimeLineAssetSerialization
  9. {
  10. public string audioName;
  11. public bool isLoop;
  12. // public float volume;
  13. public TimeLineAudioSeralization()
  14. {
  15. }
  16. #if !COMBAT_SERVER
  17. public TimeLineAudioSeralization(PlayableDirector playableDirector, GroupTrack groupTrack,
  18. TimelineClip timelineClip) : base(groupTrack, timelineClip)
  19. {
  20. AudioPlayableAsset audioPlayableAsset = timelineClip.asset as AudioPlayableAsset;
  21. if (audioPlayableAsset.clip != null)
  22. {
  23. audioName = audioPlayableAsset.clip.name;
  24. if (!audioName.Contains('.'))
  25. {
  26. audioName += ".wav";
  27. }
  28. isLoop = audioPlayableAsset.loop;
  29. // volume = 1;
  30. }
  31. }
  32. #endif
  33. public override TimeLineEventLogicBasic CreateLogic()
  34. {
  35. return CObjectPool.Instance.Fetch<TimeLineAudioEventLogic>();
  36. }
  37. }