using UnityEngine; using UnityEngine.Timeline; using UnityEngine.Playables; namespace Thousandto.Launcher.ExternalLibs { /// /// 触发消息的Track /// [TrackColor(0.155f, 0.8623f, 0.870f)] [TrackClipType(typeof(PushEventClip))] [TrackBindingType(typeof(GameObject))] public class PushEventTrack : TrackAsset { public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) { var playable = ScriptPlayable.Create(graph, inputCount); var bh = playable.GetBehaviour(); var index = 0; var enumerator = GetClips().GetEnumerator(); while (enumerator.MoveNext()) { var tc = enumerator.Current; var clip = tc.asset as PushEventClip; // 重命名 tc.displayName = string.Format("PushEvent({0},{1})", clip.EventID, clip.EventParams); index++; } return playable; } } }