private static void GetDirection(URDL val, Transform transform, out Vector3 dir) { dir = Vector3.zero; switch (val) { case URDL.Up: dir = transform.up; return; case URDL.Right: dir = transform.right; return; case URDL.Down: dir = -transform.up; return; case URDL.Left: dir = -transform.right; return; } }
public static URDL Previous(this URDL val) { switch (val) { case FIRST: return(LAST); default: return(--val); } }
public static URDL Next(this URDL val) { switch (val) { case LAST: return(FIRST); default: return(++val); } }
public static Vector3 GetDirection(this URDL val) { switch (val) { case URDL.Up: return(Vector3.up); case URDL.Right: return(Vector3.right); case URDL.Down: return(Vector3.down); case URDL.Left: return(Vector3.left); } return(Vector3.zero); }
public static float GetAngle(this URDL val) { switch (val) { case URDL.Up: return(0); case URDL.Right: return(90); case URDL.Down: return(180); case URDL.Left: return(-90); } return(0); }
public static Vector3 GetDirection(this Transform transform, URDL val) { GetDirection(val, transform, out var dir); return(dir); }