GpuEcsAnimatorInitializerBehaviour.cs 791 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using UnityEngine;
  3. namespace GPUECSAnimationBaker.Engine.AnimatorSystem
  4. {
  5. [RequireComponent(typeof(GpuEcsAnimatorBehaviour))]
  6. public class GpuEcsAnimatorInitializerBehaviour : MonoBehaviour
  7. {
  8. public virtual int GetInitialAnimationID() { return 0; }
  9. }
  10. [RequireComponent(typeof(GpuEcsAnimatorBehaviour))]
  11. public class GpuEcsAnimatorInitializerBehaviour<T> : GpuEcsAnimatorInitializerBehaviour where T : Enum
  12. {
  13. public T initialAnimationId;
  14. public override int GetInitialAnimationID()
  15. {
  16. Array values = Enum.GetValues(typeof(T));
  17. for (int i = 0; i < values.Length; i++)
  18. if((values.GetValue(i)).Equals(initialAnimationId)) return i;
  19. return 0;
  20. }
  21. }
  22. }