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