Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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();
 }