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;
}
}
}