protected virtual void OnSceneGUI(SceneView _sceneView)
        {
            if (Playable == null)
            {
                return;
            }

#if UNITY_2018_1_OR_NEWER
            TimelineLiteAsset inspectedAsset = TimelineEditor.inspectedAsset as TimelineLiteAsset;
#else
            TimelineLiteAsset inspectedAsset = UnityEditor.Timeline.TimelineEditor.timelineAsset as TimelineLiteAsset;
#endif
            if (inspectedAsset == null)
            {
                return;
            }

            // 始终调用
            foreach (var trackAsset in inspectedAsset.GetOutputTracks())
            {
                TLBasicTrackAsset basicTrackAsset = trackAsset as TLBasicTrackAsset;
                if (basicTrackAsset == null)
                {
                    continue;
                }
                foreach (var timelineClip in basicTrackAsset.GetClips())
                {
                    ISceneGUI asset = timelineClip.asset as ISceneGUI;
                    if (asset != null)
                    {
                        asset.SceneGUI(Playable, timelineClip, indicatorFrame);
                    }
                }
            }

#if UNITY_2019_1_OR_NEWER
            // 只有选中后调用
            foreach (var timelineClip in TimelineEditor.selectedClips)
            {
                ISceneGUI asset = timelineClip.asset as ISceneGUI;
                if (asset != null)
                {
                    asset.SceneGUISelected(Playable, timelineClip, indicatorFrame);
                }
            }
#endif
        }