Пример #1
0
        public override bool Execute(IEnumerable <TimelineClip> clips)
        {
            var speedResult = ClipModifier.ResetSpeed(clips);
            var editResult  = ClipModifier.ResetEditing(clips);

            return(speedResult || editResult);
        }
Пример #2
0
        public override bool Execute(WindowState state, TimelineClip[] clips)
        {
            var speedResult = ClipModifier.ResetSpeed(clips);
            var editResult  = ClipModifier.ResetEditing(clips);

            return(speedResult || editResult);
        }
Пример #3
0
 public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips)
 {
     state.Stop();
     ClipModifier.Delete(state.timeline, clips);
     SelectionManager.Clear();
     state.Refresh(true);
     return(true);
 }
Пример #4
0
 public static bool TrimLastLoop(TimelineClip clip)
 {
     TimelineClip[] clips = new TimelineClip[]
     {
         clip
     };
     return(ClipModifier.TrimLastLoop(clips));
 }
Пример #5
0
 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);
 }
Пример #6
0
 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);
        }
Пример #8
0
        public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips)
        {
            bool flag = ClipModifier.Split(state.currentDirector, state.time, clips);

            if (flag)
            {
                state.Refresh();
            }
            return(flag);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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));
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
     }
 }
Пример #15
0
 public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips)
 {
     return(ClipModifier.TrimStart(state.time, clips));
 }
Пример #16
0
 public override bool Execute(IEnumerable <TimelineClip> clips)
 {
     return(ClipModifier.Tile(clips));
 }
Пример #17
0
 public override bool Execute(IEnumerable <TimelineClip> clips)
 {
     return(ClipModifier.ResetEditing(clips));
 }
Пример #18
0
 public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips)
 {
     return(ClipModifier.ResetEditing(clips));
 }
Пример #19
0
        public override bool Execute(WindowState state)
        {
            var clips = SelectionManager.SelectedClips().ToArray();

            return(clips.Length > 0 && ClipModifier.MatchContent(clips));
        }
Пример #20
0
        public override bool Execute(ActionContext actionContext)
        {
            var clips = actionContext.clips;

            return(clips.Any() && ClipModifier.MatchContent(clips));
        }
Пример #21
0
 public override bool Execute(TimelineWindow.TimelineState state, TimelineClip[] clips)
 {
     return(ClipModifier.DoubleSpeed(clips));
 }
Пример #22
0
 public override bool Execute(WindowState state, TimelineClip[] clips)
 {
     return(ClipModifier.CompleteLastLoop(clips));
 }
Пример #23
0
 public override bool Execute(WindowState state, TimelineClip[] clips)
 {
     return(ClipModifier.TrimEnd(clips, state.editSequence.time));
 }
Пример #24
0
 public void Delete()
 {
     EditorClipFactory.RemoveEditorClip(m_Clip);
     ClipModifier.Delete(m_Clip.parentTrack.timelineAsset, m_Clip);
 }
Пример #25
0
 public void TrimStart(double time)
 {
     ClipModifier.TrimStart(m_Clip, time);
 }
Пример #26
0
 public void SetEnd(double time, bool affectTimeScale)
 {
     ClipModifier.SetEnd(m_Clip, time, affectTimeScale);
 }
Пример #27
0
 public void TrimEnd(double time)
 {
     ClipModifier.TrimEnd(m_Clip, time);
 }
Пример #28
0
 public void SetStart(double time)
 {
     ClipModifier.SetStart(m_Clip, time);
 }
Пример #29
0
 public override bool Execute(WindowState state, TimelineClip[] clips)
 {
     return(ClipModifier.MatchDuration(clips));
 }
Пример #30
0
 public override bool Execute(WindowState state, TimelineClip[] clips)
 {
     return(ClipModifier.Tile(clips));
 }