Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Timeline;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace UnityEditor.Timeline
|
||||
{
|
||||
static class MarkerModifier
|
||||
{
|
||||
public static void DeleteMarker(IMarker marker)
|
||||
{
|
||||
var trackAsset = marker.parent;
|
||||
if (trackAsset != null)
|
||||
{
|
||||
SelectionManager.Remove(marker);
|
||||
trackAsset.DeleteMarker(marker);
|
||||
}
|
||||
}
|
||||
|
||||
public static IEnumerable<IMarker> CloneMarkersToParent(IEnumerable<IMarker> markers, TrackAsset parent)
|
||||
{
|
||||
if (!markers.Any()) return Enumerable.Empty<IMarker>();
|
||||
var clonedMarkers = new List<IMarker>();
|
||||
foreach (var marker in markers)
|
||||
clonedMarkers.Add(CloneMarkerToParent(marker, parent));
|
||||
return clonedMarkers;
|
||||
}
|
||||
|
||||
public static IMarker CloneMarkerToParent(IMarker marker, TrackAsset parent)
|
||||
{
|
||||
var markerObject = marker as ScriptableObject;
|
||||
if (markerObject == null) return null;
|
||||
|
||||
var newMarkerObject = Object.Instantiate(markerObject);
|
||||
AddMarkerToParent(newMarkerObject, parent);
|
||||
|
||||
newMarkerObject.name = markerObject.name;
|
||||
try
|
||||
{
|
||||
CustomTimelineEditorCache.GetMarkerEditor((IMarker)newMarkerObject).OnCreate((IMarker)newMarkerObject, marker);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogException(e);
|
||||
}
|
||||
|
||||
|
||||
return (IMarker)newMarkerObject;
|
||||
}
|
||||
|
||||
static void AddMarkerToParent(ScriptableObject marker, TrackAsset parent)
|
||||
{
|
||||
TimelineCreateUtilities.SaveAssetIntoObject(marker, parent);
|
||||
TimelineUndo.RegisterCreatedObjectUndo(marker, L10n.Tr("Duplicate Marker"));
|
||||
UndoExtensions.RegisterTrack(parent, L10n.Tr("Duplicate Marker"));
|
||||
|
||||
if (parent != null)
|
||||
{
|
||||
parent.AddMarker(marker);
|
||||
((IMarker)marker).Initialize(parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue