説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

ClipCaps.cs 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using System;
  2. namespace UnityEngine.Timeline
  3. {
  4. /// <summary>
  5. /// Describes the timeline features supported by a clip
  6. /// </summary>
  7. [Flags]
  8. public enum ClipCaps
  9. {
  10. /// <summary>
  11. /// No features are supported.
  12. /// </summary>
  13. None = 0,
  14. /// <summary>
  15. /// The clip supports loops.
  16. /// </summary>
  17. Looping = 1 << 0,
  18. /// <summary>
  19. /// The clip supports clip extrapolation.
  20. /// </summary>
  21. Extrapolation = 1 << 1,
  22. /// <summary>
  23. /// The clip supports initial local times greater than zero.
  24. /// </summary>
  25. ClipIn = 1 << 2,
  26. /// <summary>
  27. /// The clip supports time scaling.
  28. /// </summary>
  29. SpeedMultiplier = 1 << 3,
  30. /// <summary>
  31. /// The clip supports blending between clips.
  32. /// </summary>
  33. Blending = 1 << 4,
  34. /// <summary>
  35. /// The clip supports time scaling, and sets the default trim mode in the editor to scale the clip
  36. /// (speed multiplier) when the start/end of the clip is trimmed.
  37. /// </summary>
  38. AutoScale = 1 << 5 | SpeedMultiplier,
  39. /// <summary>
  40. /// All features are supported.
  41. /// </summary>
  42. All = ~None
  43. }
  44. static class TimelineClipCapsExtensions
  45. {
  46. public static bool SupportsLooping(this TimelineClip clip)
  47. {
  48. return clip != null && (clip.clipCaps & ClipCaps.Looping) != ClipCaps.None;
  49. }
  50. public static bool SupportsExtrapolation(this TimelineClip clip)
  51. {
  52. return clip != null && (clip.clipCaps & ClipCaps.Extrapolation) != ClipCaps.None;
  53. }
  54. public static bool SupportsClipIn(this TimelineClip clip)
  55. {
  56. return clip != null && (clip.clipCaps & ClipCaps.ClipIn) != ClipCaps.None;
  57. }
  58. public static bool SupportsSpeedMultiplier(this TimelineClip clip)
  59. {
  60. return clip != null && (clip.clipCaps & ClipCaps.SpeedMultiplier) != ClipCaps.None;
  61. }
  62. public static bool SupportsBlending(this TimelineClip clip)
  63. {
  64. return clip != null && (clip.clipCaps & ClipCaps.Blending) != ClipCaps.None;
  65. }
  66. public static bool HasAll(this ClipCaps caps, ClipCaps flags)
  67. {
  68. return (caps & flags) == flags;
  69. }
  70. public static bool HasAny(this ClipCaps caps, ClipCaps flags)
  71. {
  72. return (caps & flags) != 0;
  73. }
  74. }
  75. }