FSequenceTrack.cs 938 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using UnityEngine;
  2. using System.Collections.Generic;
  3. namespace Flux
  4. {
  5. public class FSequenceTrack : FTrack
  6. {
  7. private FSequence _ownerSequence = null;
  8. private FSequence OwnerSequence {
  9. get {
  10. if( _ownerSequence == null )
  11. _ownerSequence = Owner.GetComponent<FSequence>();
  12. return _ownerSequence;
  13. }
  14. }
  15. public override CacheMode RequiredCacheMode {
  16. get {
  17. return CacheMode.Editor | CacheMode.RuntimeBackwards;
  18. }
  19. }
  20. public override CacheMode AllowedCacheMode {
  21. get {
  22. return RequiredCacheMode | CacheMode.RuntimeForward;
  23. }
  24. }
  25. public override void CreateCache()
  26. {
  27. if( HasCache )
  28. return;
  29. Cache = new FSequenceTrackCache( this );
  30. Cache.Build();
  31. }
  32. public override void ClearCache()
  33. {
  34. if( !HasCache )
  35. return;
  36. Cache.Clear();
  37. Cache = null;
  38. }
  39. public override void Init ()
  40. {
  41. base.Init();
  42. if( Application.isPlaying )
  43. enabled = true;
  44. }
  45. }
  46. }