Example #1
0
    void SetupStyles()
    {
        selectedTexture = TextureGenerator.GenerateTexture(Color.green * 0.5f);
        selectedStyle   = new GUIStyle(EditorStyles.helpBox);
        selectedStyle.normal.background = selectedTexture;

        SpriteColliderStyle.Setup();

        isStyleSetup = true;
    }
Example #2
0
    void DrawSlicer()
    {
        var textureAreaRect = SpriteColliderStyle.CreateAreaRect(SpriteColliderStyle.Background1Style.Copy().WithHeight(470).WithWidth(984).WithMargin(20, 21, 20, 20));
        var slicerRect      = new Rect(textureAreaRect);

        if (slicer == null)
        {
            slicer             = new UVSlicer(slicerRect);
            slicer.UVRectColor = Color.magenta;
            SetupSlicer();
        }

        if (selectedFrameChanged && Event.current.type != EventType.Layout)
        {
            // slicer.SetRects(slicerRect);
            // slicer.ResetUVRect();
            slicer.AreaRect      = slicerRect;
            slicer.UVRectColor   = Color.magenta;
            selectedFrameChanged = false;
            slicer.SetTexture(slicedSprites[selectedFrame]);
        }

        // EditorGUI.DrawTextureTransparent(slicerRect, SpriteColliderStyle.Selected, ScaleMode.StretchToFill);

        if (selectedFrame != -1 && selectedColliderData != -1)
        {
            var scd       = spriteColliderData.Colliders[selectedColliderData];
            var eventData = scd.Rects[selectedFrame];
            slicer.UVRectActive = eventData.Active;
            switch (scd.Mode)
            {
            case SpriteColliderData.Mode.Hitbox: slicer.UVRectColor = SpriteColliderStyle.HitboxColor; break;

            case SpriteColliderData.Mode.Hurtbox: slicer.UVRectColor = SpriteColliderStyle.HurtboxColor; break;
            }
        }
        else
        {
            slicer.UVRectActive = false;
        }

        slicer.OnGUI();

        if (slicer.Repaint)
        {
            Repaint();
            slicer.Repaint = false;
        }

        SetPreviewProxyData();
    }
Example #3
0
    void DrawEventArea()
    {
        // Clip Frames
        clipFrameLineOrigins.Clear();
        using (new GUILayout.HorizontalScope(SpriteColliderStyle.Background4Style.Copy().WithHeight(80).WithWidth(1014)))
        {
            SpriteColliderStyle.CreateSpacing(SpriteColliderStyle.Background4Style.Copy().WithWidth(226));
            for (int i = 0; i < frameCount; i++)
            {
                DrawClipFrame(i);
            }
        }

        // Events
        using (new GUILayout.VerticalScope(SpriteColliderStyle.Background3Style.Copy().WithHeight(382).WithWidth(1014)))
        {
            foreach (var clipFrameOrigin in clipFrameLineOrigins)
            {
                lineVertTemp[0] = clipFrameOrigin;
                lineVertTemp[1] = clipFrameOrigin - Vector2.down * 390f;
                // Handles.color = SpriteColliderStyle.BackgroundColor1;
                Handles.color = Color.white;
                Handles.DrawAAPolyLine(3f, lineVertTemp);
            }
            using (var scrollView = new GUILayout.ScrollViewScope(eventScrollPos, false, true))
            {
                if (spriteColliderData != null)
                {
                    for (int i = 0; i < spriteColliderData.Colliders.Count; i++)
                    {
                        DrawEvent(i);
                    }
                }

                eventScrollPos = scrollView.scrollPosition;
            }
        }
    }