using UnityEngine; namespace UnityEditor.Rendering.Universal { internal static class FreeformPathPresets { public static Vector3[] CreateSquare() { Vector3[] returnPath = new Vector3[4] { new Vector3(-0.5f, -0.5f), new Vector3(0.5f, -0.5f), new Vector3(0.5f, 0.5f), new Vector3(-0.5f, 0.5f) }; return returnPath; } public static Vector3[] CreateIsometricDiamond() { Vector3[] returnPath = new Vector3[4] { new Vector3(-0.5f, 0.0f), new Vector3(0.0f, -0.25f), new Vector3(0.5f, 0.0f), new Vector3(0.0f, 0.25f) }; return returnPath; } private static Vector3[] CreateShape(int vertices, float angleOffset) { Vector3[] returnPath = new Vector3[vertices]; const float kRadius = 0.5f; for (int i = 0; i < vertices; i++) { float angle = ((float)i * 2 * Mathf.PI / (float)vertices) + angleOffset; float x = kRadius * Mathf.Cos(angle); float y = kRadius * Mathf.Sin(angle); returnPath[i] = new Vector3(x, y); } return returnPath; } public static Vector3[] CreateCircle() { return CreateShape(32, 0); } public static Vector3[] CreateHexagonFlatTop() { return CreateShape(6, 0); } public static Vector3[] CreateHexagonPointedTop() { return CreateShape(6, 0.5f * Mathf.PI); } } }