| using System; |
|
|
| namespace UnityEngine.Timeline |
| { |
| |
| |
| |
| [Flags] |
| public enum ClipCaps |
| { |
| |
| |
| |
| None = 0, |
|
|
| |
| |
| |
| Looping = 1 << 0, |
|
|
| |
| |
| |
| Extrapolation = 1 << 1, |
|
|
| |
| |
| |
| ClipIn = 1 << 2, |
|
|
| |
| |
| |
| SpeedMultiplier = 1 << 3, |
|
|
| |
| |
| |
| Blending = 1 << 4, |
|
|
| |
| |
| |
| |
| AutoScale = 1 << 5 | SpeedMultiplier, |
|
|
| |
| |
| |
| All = ~None |
| } |
|
|
| static class TimelineClipCapsExtensions |
| { |
| public static bool SupportsLooping(this TimelineClip clip) |
| { |
| return clip != null && (clip.clipCaps & ClipCaps.Looping) != ClipCaps.None; |
| } |
|
|
| public static bool SupportsExtrapolation(this TimelineClip clip) |
| { |
| return clip != null && (clip.clipCaps & ClipCaps.Extrapolation) != ClipCaps.None; |
| } |
|
|
| public static bool SupportsClipIn(this TimelineClip clip) |
| { |
| return clip != null && (clip.clipCaps & ClipCaps.ClipIn) != ClipCaps.None; |
| } |
|
|
| public static bool SupportsSpeedMultiplier(this TimelineClip clip) |
| { |
| return clip != null && (clip.clipCaps & ClipCaps.SpeedMultiplier) != ClipCaps.None; |
| } |
|
|
| public static bool SupportsBlending(this TimelineClip clip) |
| { |
| return clip != null && (clip.clipCaps & ClipCaps.Blending) != ClipCaps.None; |
| } |
|
|
| public static bool HasAll(this ClipCaps caps, ClipCaps flags) |
| { |
| return (caps & flags) == flags; |
| } |
|
|
| public static bool HasAny(this ClipCaps caps, ClipCaps flags) |
| { |
| return (caps & flags) != 0; |
| } |
| } |
| } |
|
|