GpuEcsAttachmentInitializerBehaviour.cs 796 B

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