Files
Dec2017-Script-Dump/UnityEngine.Timeline/Timeline/TrackAssetExtensions.cs
T
2026-06-04 11:42:34 +02:00

59 lines
1.4 KiB
C#

using System;
namespace UnityEngine.Timeline
{
// Token: 0x0200002F RID: 47
public static class TrackAssetExtensions
{
// Token: 0x060001B2 RID: 434 RVA: 0x000091DC File Offset: 0x000073DC
public static GroupTrack GetGroup(this TrackAsset asset)
{
GroupTrack groupTrack;
if (asset == null)
{
groupTrack = null;
}
else
{
groupTrack = asset.parent as GroupTrack;
}
return groupTrack;
}
// Token: 0x060001B3 RID: 435 RVA: 0x00009210 File Offset: 0x00007410
public static void SetGroup(this TrackAsset asset, GroupTrack group)
{
if (!(asset == null) && !(asset == group) && !(asset.parent == group))
{
if (group != null && asset.timelineAsset != group.timelineAsset)
{
throw new InvalidOperationException("Cannot assign to a group in a different timeline");
}
TimelineAsset timelineAsset = asset.timelineAsset;
TrackAsset trackAsset = asset.parent as TrackAsset;
TimelineAsset timelineAsset2 = asset.parent as TimelineAsset;
if (trackAsset != null || timelineAsset2 != null)
{
if (timelineAsset2 != null)
{
timelineAsset2.RemoveTrack(asset);
}
else
{
trackAsset.RemoveSubTrack(asset);
}
}
if (group == null)
{
asset.parent = asset.timelineAsset;
timelineAsset.AddTrackInternal(asset);
}
else
{
group.AddChild(asset);
}
}
}
}
}