public override bool Execute(IEnumerable <TimelineClip> clips) { var speedResult = ClipModifier.ResetSpeed(clips); var editResult = ClipModifier.ResetEditing(clips); return(speedResult || editResult); }
public override bool Execute(WindowState state, TimelineClip[] clips) { var speedResult = ClipModifier.ResetSpeed(clips); var editResult = ClipModifier.ResetEditing(clips); return(speedResult || editResult); }
public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips) { state.Stop(); ClipModifier.Delete(state.timeline, clips); SelectionManager.Clear(); state.Refresh(true); return(true); }
public static bool TrimLastLoop(TimelineClip clip) { TimelineClip[] clips = new TimelineClip[] { clip }; return(ClipModifier.TrimLastLoop(clips)); }
public static bool Delete(TimelineAsset timeline, TimelineClip[] clips) { for (int i = 0; i < clips.Length; i++) { TimelineClip clip = clips[i]; ClipModifier.Delete(timeline, clip); } return(true); }
public static bool DuplicateClips(PlayableDirector directorComponent, TimelineClip[] clips) { for (int i = 0; i < clips.Length; i++) { TimelineClip clip = clips[i]; ClipModifier.DuplicateClip(directorComponent, clip); } return(true); }
internal static void ConvertFromClipMode(this AnimationTrack track, TimelineAsset timeline) { if (!track.CanConvertFromClipMode()) { return; } UndoExtensions.RegisterTrack(track, L10n.Tr("Convert From Clip")); var clip = track.clips[0]; var delta = (float)clip.start; track.infiniteClipTimeOffset = 0.0f; track.infiniteClipPreExtrapolation = clip.preExtrapolationMode; track.infiniteClipPostExtrapolation = clip.postExtrapolationMode; var animAsset = clip.asset as AnimationPlayableAsset; if (animAsset) { track.infiniteClipOffsetPosition = animAsset.position; track.infiniteClipOffsetEulerAngles = animAsset.eulerAngles; track.infiniteClipRemoveOffset = animAsset.removeStartOffset; track.infiniteClipApplyFootIK = animAsset.applyFootIK; track.infiniteClipLoop = animAsset.loop; } // clone it, it may not be in the same asset var animClip = clip.animationClip; float scale = (float)clip.timeScale; if (!Mathf.Approximately(scale, 1.0f)) { if (!Mathf.Approximately(scale, 0.0f)) { scale = 1.0f / scale; } animClip.ScaleTime(scale); } TimelineUndo.PushUndo(animClip, L10n.Tr("Convert From Clip")); animClip.ShiftBySeconds(delta); // manually delete the clip var asset = clip.asset; clip.asset = null; // Remove the clip, remove old assets ClipModifier.Delete(timeline, clip); TimelineUndo.PushDestroyUndo(null, track, asset); track.infiniteClip = animClip; EditorUtility.SetDirty(track); }
public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips) { bool flag = ClipModifier.Split(state.currentDirector, state.time, clips); if (flag) { state.Refresh(); } return(flag); }
public override bool Execute(WindowState state, TimelineClip[] clips) { bool success = ClipModifier.Split(clips, state.editSequence.time, state.editSequence.director); if (success) { state.Refresh(); } return(success); }
public override bool Execute(IEnumerable <TimelineClip> clips) { bool success = ClipModifier.Split(clips, TimelineEditor.inspectedSequenceTime, TimelineEditor.inspectedDirector); if (success) { TimelineEditor.Refresh(RefreshReason.ContentsAddedOrRemoved); } return(success); }
public override bool Execute(WindowState state) { if (SelectionManager.GetCurrentInlineEditorCurve() != null) { return(false); } var clips = SelectionManager.SelectedClips().ToArray(); return(clips.Length > 0 && ClipModifier.MatchContent(clips)); }
public static bool ResetEditing(TimelineClip[] clips) { bool flag = false; for (int i = 0; i < clips.Length; i++) { TimelineClip clip = clips[i]; flag |= ClipModifier.ResetEditing(clip); } return(flag); }
public static bool TrimStart(double trimTime, TimelineClip[] clips) { bool flag = false; for (int i = 0; i < clips.Length; i++) { TimelineClip clip = clips[i]; flag |= ClipModifier.TrimStart(trimTime, clip); } return(flag); }
public static void ConvertFromClipMode(this AnimationTrack track, TimelineAsset timeline) { if (track.CanConvertFromClipMode()) { TimelineUndo.PushUndo(track, "Convert From Clip"); TimelineClip timelineClip = track.clips[0]; float time = (float)timelineClip.start; track.openClipTimeOffset = 0.0; track.openClipPreExtrapolation = timelineClip.preExtrapolationMode; track.openClipPostExtrapolation = timelineClip.postExtrapolationMode; AnimationPlayableAsset animationPlayableAsset = timelineClip.asset as AnimationPlayableAsset; if (animationPlayableAsset) { track.openClipOffsetPosition = animationPlayableAsset.position; track.openClipOffsetRotation = animationPlayableAsset.rotation; } AnimationClip animationClip = timelineClip.animationClip; float num = (float)timelineClip.timeScale; if (!Mathf.Approximately(num, 1f)) { if (!Mathf.Approximately(num, 0f)) { num = 1f / num; } animationClip.ScaleTime(num); } TimelineUndo.PushUndo(animationClip, "Convert From Clip"); animationClip.ShiftBySeconds(time); Object asset = timelineClip.asset; timelineClip.asset = null; ClipModifier.Delete(timeline, timelineClip); TimelineUndo.PushDestroyUndo(null, track, asset, "Convert From Clip"); track.animClip = animationClip; EditorUtility.SetDirty(track); } }
public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips) { return(ClipModifier.TrimStart(state.time, clips)); }
public override bool Execute(IEnumerable <TimelineClip> clips) { return(ClipModifier.Tile(clips)); }
public override bool Execute(IEnumerable <TimelineClip> clips) { return(ClipModifier.ResetEditing(clips)); }
public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips) { return(ClipModifier.ResetEditing(clips)); }
public override bool Execute(WindowState state) { var clips = SelectionManager.SelectedClips().ToArray(); return(clips.Length > 0 && ClipModifier.MatchContent(clips)); }
public override bool Execute(ActionContext actionContext) { var clips = actionContext.clips; return(clips.Any() && ClipModifier.MatchContent(clips)); }
public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips) { return(ClipModifier.DoubleSpeed(clips)); }
public override bool Execute(WindowState state, TimelineClip[] clips) { return(ClipModifier.CompleteLastLoop(clips)); }
public override bool Execute(WindowState state, TimelineClip[] clips) { return(ClipModifier.TrimEnd(clips, state.editSequence.time)); }
public void Delete() { EditorClipFactory.RemoveEditorClip(m_Clip); ClipModifier.Delete(m_Clip.parentTrack.timelineAsset, m_Clip); }
public void TrimStart(double time) { ClipModifier.TrimStart(m_Clip, time); }
public void SetEnd(double time, bool affectTimeScale) { ClipModifier.SetEnd(m_Clip, time, affectTimeScale); }
public void TrimEnd(double time) { ClipModifier.TrimEnd(m_Clip, time); }
public void SetStart(double time) { ClipModifier.SetStart(m_Clip, time); }
public override bool Execute(WindowState state, TimelineClip[] clips) { return(ClipModifier.MatchDuration(clips)); }
public override bool Execute(WindowState state, TimelineClip[] clips) { return(ClipModifier.Tile(clips)); }