Mirror of Svelto.ECS because we're a fan of it
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ExtensionMethodsUnity.cs 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #if UNITY_2018_3_OR_NEWER
  2. using Svelto.ECS.Components;
  3. using UnityEngine;
  4. public static partial class ExtensionMethods
  5. {
  6. public static Vector2 ToVector2(in this ECSVector2 vector) { return new Vector2(vector.x, vector.y); }
  7. public static ECSVector2 ToECSVector2(in this Vector2 vector) { return new ECSVector2(vector.x, vector.y); }
  8. public static Vector3 ToVector3(in this ECSVector3 vector)
  9. {
  10. return new Vector3(vector.x, vector.y, vector.z);
  11. }
  12. public static ECSVector3 ToECSVector3(in this Vector3 vector)
  13. {
  14. return new ECSVector3(vector.x, vector.y, vector.z);
  15. }
  16. public static Quaternion ToQuaternion(in this ECSQuaternion quaternion)
  17. {
  18. return new Quaternion(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
  19. }
  20. public static ECSQuaternion ToECSQuaternion(in this Quaternion quaternion)
  21. {
  22. return new ECSQuaternion(quaternion.x, quaternion.y, quaternion.z, quaternion.w);
  23. }
  24. public static void Set(ref this ECSQuaternion ecsQuaternion, in Quaternion quaternion)
  25. {
  26. ecsQuaternion.x = quaternion.x;
  27. ecsQuaternion.y = quaternion.y;
  28. ecsQuaternion.z = quaternion.z;
  29. ecsQuaternion.w = quaternion.w;
  30. }
  31. public static void Set(ref this ECSVector3 ecsVector3, in Vector3 vector3)
  32. {
  33. ecsVector3.x = vector3.x;
  34. ecsVector3.y = vector3.y;
  35. ecsVector3.z = vector3.z;
  36. }
  37. }
  38. #endif