using UnityEditor;
using UnityEditor.Timeline;
using UnityEngine;
using UnityEngine.Timeline;
namespace Timeline.Samples
{
// Editor used by the TimelineEditor to customize the view of a VideoPlayableAsset
[CustomTimelineEditor(typeof(VideoPlayableAsset))]
public class VideoAssetClipEditor : ClipEditor
{
// Called by the Timeline Editor to draw the background of the timeline clip
// when the clip has a VideoPlayableAsset attached
public override void DrawBackground(TimelineClip clip, ClipBackgroundRegion region)
{
VideoPlayableAsset videoAsset = clip.asset as VideoPlayableAsset;
if (videoAsset != null && videoAsset.videoClip != null)
{
// Load the preview or the thumbnail for the video
Texture texturePreview = AssetPreview.GetAssetPreview(videoAsset.videoClip);
if (texturePreview == null)
texturePreview = AssetPreview.GetMiniThumbnail(videoAsset.videoClip);
if (texturePreview != null)
{
Rect rect = region.position;
rect.width = texturePreview.width * rect.height / texturePreview.height;
GUI.DrawTexture(rect, texturePreview, ScaleMode.StretchToFill);
}
}
}
}
}