using UnityEngine; using UnityEngine.U2D; using UnityEditor.U2D.SpriteShape; namespace UnityEditor.U2D { public class ContextMenu { private static AngleRange CreateAngleRange(float start, float end, int order) { AngleRange angleRange = new AngleRange(); angleRange.start = start; angleRange.end = end; angleRange.order = order; return angleRange; } [MenuItem("Assets/Create/Sprite Shape Profile/Open Shape", false, 358)] public static void CreateNewSpriteStrip() { UnityEngine.U2D.SpriteShape newSpriteShape = SpriteShapeEditorUtility.CreateSpriteShapeAsset(); newSpriteShape.angleRanges.Add(CreateAngleRange(-180.0f, 180.0f, 0)); } [MenuItem("Assets/Create/Sprite Shape Profile/Closed Shape", false, 359)] public static void CreateNewSpriteShape() { UnityEngine.U2D.SpriteShape newSpriteShape = SpriteShapeEditorUtility.CreateSpriteShapeAsset(); newSpriteShape.angleRanges.Add(CreateAngleRange(-45.0f, 45.0f, 4)); newSpriteShape.angleRanges.Add(CreateAngleRange(-135.0f, -45.0f, 3)); newSpriteShape.angleRanges.Add(CreateAngleRange(135.0f, 225.0f, 2)); newSpriteShape.angleRanges.Add(CreateAngleRange(45.0f, 135.0f, 1)); } [MenuItem("GameObject/2D Object/Sprite Shape")] internal static void CreateSpriteShapeEmpty() { SpriteShapeEditorUtility.SetShapeFromAsset(SpriteShapeEditorUtility.CreateSpriteShapeControllerFromSelection()); } } }