public void FinializeTrack(TrackAsset track, WindowState state) { // make sure we dirty the clip if we are in non clip mode var animTrack = track as AnimationTrack; if (!animTrack.inClipMode) { EditorUtility.SetDirty(animTrack.GetOrCreateClip()); } // in clip mode we need to do some extra work if (recordClip != null) { // stretch the clip out to meet the new recording time if (m_ClipTime > recordClip.duration) { UndoExtensions.RegisterTrack(track, "Add Key"); recordClip.duration = m_ClipTime; } track.CalculateExtrapolationTimes(); } recordClip = null; m_ClipTime = 0; if (m_needRebuildRects) { state.CalculateRowRects(); m_needRebuildRects = false; } }