TimeLineActiveGameObjectSerializtion.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #if !COMBAT_SERVER
  2. using UnityEngine.Playables;
  3. using UnityEngine.Timeline;
  4. #endif
  5. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic;
  6. /// <summary>
  7. /// 激活父物体对象
  8. /// </summary>
  9. [System.Serializable]
  10. public class TimeLineActiveGameObjectSerializtion : TimeLineAssetSerialization
  11. {
  12. public bool isActive;
  13. public string targetName;
  14. public TimeLineActiveGameObjectSerializtion()
  15. {
  16. }
  17. #if !COMBAT_SERVER
  18. public TimeLineActiveGameObjectSerializtion(PlayableDirector playableDirector, GroupTrack groupTrack, TimelineClip timelineClip) : base(groupTrack, timelineClip)
  19. {
  20. ActiveGameObjectPlayableAsset activeGameObjectPlayableAsset = timelineClip.asset as ActiveGameObjectPlayableAsset;
  21. if (activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()) != null)
  22. {
  23. targetName = activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()).name;
  24. isActive = activeGameObjectPlayableAsset.isActive;
  25. }
  26. }
  27. #endif
  28. public override TimeLineEventLogicBasic CreateLogic()
  29. {
  30. return new TimeLineAudioEventLogic();
  31. }
  32. }