protected override void OnGUIContent() { if (Data == null) { var tt = (track as XTransformTrack); Data = tt?.Data; } if (Data?.time != null) { EditorKey.BuildAndDraw(RenderRect, Data.time, keys); } }
private static TrackData CreateTrackData(Type type) { TrackData data = null; if (type == typeof(XAnimationTrack)) { data = new AnimationTrackData(); data.type = AssetType.Animation; } else if (type == typeof(XPostprocessTrack)) { data = new TrackData(); data.type = AssetType.PostProcess; } else if (type == typeof(XBoneFxTrack)) { data = new TrackData(); data.type = AssetType.BoneFx; } else if (type == typeof(XSceneFxTrack)) { data = new TrackData(); data.type = AssetType.SceneFx; } else if (type == typeof(XTransformTrack)) { data = new TransformTrackData(); data.type = AssetType.Transform; } else if (type == typeof(XLogicTrack)) { data = new TrackData(); data.type = AssetType.LogicValue; } else if (type == typeof(XGroupTrack)) { data = new GroupTrackData(); data.type = AssetType.Group; } else { throw new Exception("not implement trackdata for default"); } return(data); }
protected override void OnGUIContent() { if (Data == null) { var tt = (track as XTransformTrack); Data = tt?.Data; } if (Data?.time != null) { for (int i = 0; i < Data.time.Length; i++) { Rect r = RenderRect; r.x = TimelineWindow.inst.TimeToPixel(Data.time[i]); if (TimelineWindow.inst.IsPiexlRange(r.x)) { r.width = 20; r.y = RenderRect.y + RenderRect.height / 3; GUIContent gct = Data.@select ? s_KeyOn : s_KeyOff; GUI.Box(r, gct, TimelineStyles.keyframe); } } } }
protected override void OnPostBuild() { base.OnPostBuild(); _data = (TransformTrackData)data; }