TimeLineActiveGameObjectSerializtion.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. /// <summary>
  8. /// 激活父物体对象
  9. /// </summary>
  10. [System.Serializable]
  11. public class TimeLineActiveGameObjectSerializtion : TimeLineAssetSerialization
  12. {
  13. public bool isActive;
  14. public string targetName;
  15. public TimeLineActiveGameObjectSerializtion()
  16. {
  17. }
  18. #if !COMBAT_SERVER
  19. public TimeLineActiveGameObjectSerializtion(PlayableDirector playableDirector, GroupTrack groupTrack, TimelineClip timelineClip) : base(groupTrack, timelineClip)
  20. {
  21. ActiveGameObjectPlayableAsset activeGameObjectPlayableAsset = timelineClip.asset as ActiveGameObjectPlayableAsset;
  22. if (activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()) != null)
  23. {
  24. targetName = activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()).name;
  25. isActive = activeGameObjectPlayableAsset.isActive;
  26. }
  27. }
  28. #endif
  29. public override TimeLineEventLogicBasic CreateLogic()
  30. {
  31. return CObjectPool.Instance.Fetch<TimeLineAudioEventLogic>();
  32. }
  33. }