#if !COMBAT_SERVER using UnityEngine.Playables; using UnityEngine.Timeline; #endif using Fort23.Core; using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic; /// /// 激活父物体对象 /// [System.Serializable] public class TimeLineActiveGameObjectSerializtion : TimeLineAssetSerialization { public bool isActive; public string targetName; public TimeLineActiveGameObjectSerializtion() { } #if !COMBAT_SERVER public TimeLineActiveGameObjectSerializtion(PlayableDirector playableDirector, GroupTrack groupTrack, TimelineClip timelineClip) : base(groupTrack, timelineClip) { ActiveGameObjectPlayableAsset activeGameObjectPlayableAsset = timelineClip.asset as ActiveGameObjectPlayableAsset; if (activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()) != null) { targetName = activeGameObjectPlayableAsset.gameObject.Resolve(playableDirector.playableGraph.GetResolver()).name; isActive = activeGameObjectPlayableAsset.isActive; } } #endif public override TimeLineEventLogicBasic CreateLogic() { return CObjectPool.Instance.Fetch(); } }