using System; using System.Reflection; using UnityEngine; using static UnityEngine.Rendering.DebugUI; namespace Assets.Scripts.Helpers { internal static class VectorHelper { /// /// Will get a float array for a given vector3 value /// /// /// float[x,y,z] public static float[] ConvertToFloatArray(this Vector3 value) { float[] result = new float[3]; result[0] = value.x; result[1] = value.y; result[2] = value.z; return result; } /// /// Will get a float array for a given vector2 value /// /// /// float[x,y] public static float[] ConvertToFloatArray(this Vector2 value) { float[] result = new float[2]; result[0] = value.x; result[1] = value.y; return result; } /// /// Will get a vector3 for a given float array value /// /// /// Vector3 public static Vector3 ConvertToVector3(this float[] floats) { Vector3 result = new Vector3(); if (floats != null && floats.Length == 3) { result.x = floats[0]; result.y = floats[1]; result.z = floats[2]; } else { Debug.Log("Can't convert float[] to Vector3, did not conform to float[] with 3 values (x,y,z)"); } return result; } /// /// Will get a vector2 for a given float array value /// /// /// Vector2 public static Vector2 ConvertToVector2(this float[] floats) { Vector3 result = new Vector3(); if (floats != null && floats.Length == 2) { result.x = floats[0]; result.y = floats[1]; } else { Debug.Log("Can't convert float[] to Vector2, did not conform to float[] with 2 values (x,y)"); } return result; } } }