public void CycleSpriteIndex() { ISelection selection = ShapeEditorCache.GetSelection(); if (selection.single == -1) { return; } int nextIndex = SplineUtility.NextIndex(selection.single, m_Spline.GetPointCount()); float angle = SpriteShapeHandleUtility.PosToAngle(m_Spline.GetPosition(selection.single), m_Spline.GetPosition(nextIndex), 0f); int angleRangeIndex = SpriteShapeEditorUtility.GetRangeIndexFromAngle(m_SpriteShape, angle); if (angleRangeIndex == -1) { return; } AngleRange angleRange = m_SpriteShape.angleRanges[angleRangeIndex]; int spriteIndex = (m_Spline.GetSpriteIndex(selection.single) + 1) % angleRange.sprites.Count; Undo.RecordObject(m_CurrentEditor.target, "Edit Sprite Index"); m_Spline.SetSpriteIndex(selection.single, spriteIndex); EditorUtility.SetDirty(m_CurrentEditor.target); }
public void OnEnable() { m_SpriteShape = target as SpriteShape; m_FillTextureProp = this.serializedObject.FindProperty("m_FillTexture"); m_WorldSpaceUVProp = this.serializedObject.FindProperty("m_WorldSpaceUV"); m_UseSpriteBordersProp = serializedObject.FindProperty("m_UseSpriteBorders"); m_AngleRangesProp = this.serializedObject.FindProperty("m_Angles"); m_CornerSpritesProp = this.serializedObject.FindProperty("m_CornerSprites"); m_BevelCutoffProp = this.serializedObject.FindProperty("m_BevelCutoff"); m_BevelSizeProp = this.serializedObject.FindProperty("m_BevelSize"); m_FillOffsetProp = this.serializedObject.FindProperty("m_FillOffset"); m_FillPixelPerUnitProp = this.serializedObject.FindProperty("m_FillPixelPerUnit"); m_FadeControlPoint = new AnimBool(false); m_FadeControlPoint.valueChanged.AddListener(Repaint); m_FadeAngleRange = new AnimBool(false); m_FadeAngleRange.valueChanged.AddListener(Repaint); selectedIndex = SpriteShapeEditorUtility.GetRangeIndexFromAngle(angleRanges, m_PreviewAngle); SetupAngleRangeController(); Undo.undoRedoPerformed += UndoRedoPerformed; }
private int GetAngleRangeLocal(int index) { var selection = SplineEditorCache.GetSelection(); var spriteShape = SplineEditorCache.GetTarget().spriteShape; var nextIndex = SplineUtility.NextIndex(selection.single, GetPointCount()); var pos1 = GetLocalPosition(selection.single); var pos2 = GetLocalPosition(nextIndex); var angle = SplineUtility.SlopeAngle(pos1, pos2) + 90; var angleRangeIndex = SpriteShapeEditorUtility.GetRangeIndexFromAngle(spriteShape, angle); return(angleRangeIndex); }
public void OnEnable() { m_PreviewAngle = SessionState.GetFloat("SpriteShape/PreviewAngle/" + target.GetInstanceID(), m_PreviewAngle); m_SpriteShape = target as SpriteShape; m_FillTextureProp = this.serializedObject.FindProperty("m_FillTexture"); m_UseSpriteBordersProp = serializedObject.FindProperty("m_UseSpriteBorders"); m_AngleRangesProp = this.serializedObject.FindProperty("m_Angles"); m_CornerSpritesProp = this.serializedObject.FindProperty("m_CornerSprites"); m_FillOffsetProp = this.serializedObject.FindProperty("m_FillOffset"); selectedIndex = SpriteShapeEditorUtility.GetRangeIndexFromAngle(angleRanges, m_PreviewAngle); SetupAngleRangeController(); Undo.undoRedoPerformed += UndoRedoPerformed; }
private void SetSelectedIndexFromPreviewAngle() { var index = SpriteShapeEditorUtility.GetRangeIndexFromAngle(cache.angleRanges, cache.previewAngle); SelectIndex(index); }
void InitCache() { selectedIndex = SpriteShapeEditorUtility.GetRangeIndexFromAngle(angleRanges, m_PreviewAngle); SetupAngleRangeController(); }