LMotion.CreateString.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using Unity.Collections;
  2. using LitMotion.Adapters;
  3. namespace LitMotion
  4. {
  5. public static partial class LMotion
  6. {
  7. /// <summary>
  8. /// API for creating string motions.
  9. /// </summary>
  10. public static class String
  11. {
  12. /// <summary>
  13. /// Create a builder for building motion.
  14. /// </summary>
  15. /// <param name="from">Start value</param>
  16. /// <param name="to">End value</param>
  17. /// <param name="duration">Duration</param>
  18. /// <returns>Created motion builder</returns>
  19. public static MotionBuilder<FixedString32Bytes, StringOptions, FixedString32BytesMotionAdapter> Create32Bytes(in FixedString32Bytes from, in FixedString32Bytes to, float duration)
  20. {
  21. return Create<FixedString32Bytes, StringOptions, FixedString32BytesMotionAdapter>(from, to, duration);
  22. }
  23. /// <summary>
  24. /// Create a builder for building motion.
  25. /// </summary>
  26. /// <param name="from">Start value</param>
  27. /// <param name="to">End value</param>
  28. /// <param name="duration">Duration</param>
  29. /// <returns>Created motion builder</returns>
  30. public static MotionBuilder<FixedString64Bytes, StringOptions, FixedString64BytesMotionAdapter> Create64Bytes(in FixedString64Bytes from, in FixedString64Bytes to, float duration)
  31. {
  32. return Create<FixedString64Bytes, StringOptions, FixedString64BytesMotionAdapter>(from, to, duration);
  33. }
  34. /// <summary>
  35. /// Create a builder for building motion.
  36. /// </summary>
  37. /// <param name="from">Start value</param>
  38. /// <param name="to">End value</param>
  39. /// <param name="duration">Duration</param>
  40. /// <returns>Created motion builder</returns>
  41. public static MotionBuilder<FixedString128Bytes, StringOptions, FixedString128BytesMotionAdapter> Create128Bytes(in FixedString128Bytes from, in FixedString128Bytes to, float duration)
  42. {
  43. return Create<FixedString128Bytes, StringOptions, FixedString128BytesMotionAdapter>(from, to, duration);
  44. }
  45. /// <summary>
  46. /// Create a builder for building motion.
  47. /// </summary>
  48. /// <param name="from">Start value</param>
  49. /// <param name="to">End value</param>
  50. /// <param name="duration">Duration</param>
  51. /// <returns>Created motion builder</returns>
  52. public static MotionBuilder<FixedString512Bytes, StringOptions, FixedString512BytesMotionAdapter> Create512Bytes(in FixedString512Bytes from, in FixedString512Bytes to, float duration)
  53. {
  54. return Create<FixedString512Bytes, StringOptions, FixedString512BytesMotionAdapter>(from, to, duration);
  55. }
  56. /// <summary>
  57. /// Create a builder for building motion.
  58. /// </summary>
  59. /// <param name="from">Start value</param>
  60. /// <param name="to">End value</param>
  61. /// <param name="duration">Duration</param>
  62. /// <returns>Created motion builder</returns>
  63. public static MotionBuilder<FixedString4096Bytes, StringOptions, FixedString4096BytesMotionAdapter> Create4096Bytes(in FixedString4096Bytes from, in FixedString4096Bytes to, float duration)
  64. {
  65. return Create<FixedString4096Bytes, StringOptions, FixedString4096BytesMotionAdapter>(from, to, duration);
  66. }
  67. }
  68. }
  69. }