using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
public static class Extensions
{
public static IEnumerable<T> ToSingle<T>(this T item)
{
yield return item;
}
public static Vector2 OverX(this Vector2 v, Func<float, float> func)
{
return new Vector2(func(v.x), v.y);
}
public static Vector3 OverX(this Vector3 v, Func<float, float> func)
{
return new Vector3(func(v.x), v.y, v.z);
}
public static Vector4 OverX(this Vector4 v, Func<float, float> func)
{
return new Vector4(func(v.x), v.y, v.z, v.w);
}
public static Vector2 OverY(this Vector2 v, Func<float, float> func)
{
return new Vector2(v.x, func(v.y));
}
public static Vector3 OverY(this Vector3 v, Func<float, float> func)
{
return new Vector3(v.x, func(v.y), v.z);
}
public static Vector4 OverY(this Vector4 v, Func<float, float> func)
{
return new Vector4(v.x, func(v.y), v.z, v.w);
}
public static Vector3 OverZ(this Vector3 v, Func<float, float> func)
{
return new Vector3(v.x, v.y, func(v.z));
}
public static Vector4 OverZ(this Vector4 v, Func<float, float> func)
{
return new Vector4(v.x, v.y, func(v.z), v.w);
}
public static Vector4 OverW(this Vector4 v, Func<float, float> func)
{
return new Vector4(v.x, v.y, v.z, func(v.w));
}
}