Example #1
0
    void OnDestroy()
    {
        if (spriteThumbnailRenderer != null)
        {
            spriteThumbnailRenderer.Destroy();
            spriteThumbnailRenderer = null;
        }

        tk2dGrid.Done();
    }
	void OnDestroy()
	{
		if (spriteThumbnailRenderer != null)
		{
			spriteThumbnailRenderer.Destroy();
			spriteThumbnailRenderer = null;
		}

		tk2dEditorSkin.Done();
		tk2dGrid.Done();
	}
Example #3
0
    protected void OnEnable()
    {
        thumbnailCache = new tk2dSpriteThumbnailCache();

        List <tk2dBaseSprite> sprites = new List <tk2dBaseSprite>();

        foreach (Object o in targets)
        {
            tk2dBaseSprite s = o as tk2dBaseSprite;
            if (s != null)
            {
                sprites.Add(s);
            }
        }
        targetSprites = GetTargetsOfType <tk2dBaseSprite>(targets);
    }
Example #4
0
 void OnEnable()
 {
     thumbnailCache = new tk2dSpriteThumbnailCache();
 }
    void DrawSpriteCollection(tk2dSpriteCollectionData spriteCollection)
    {
        Event ev       = Event.current;
        int   tileSize = presentParams.TileSize;

        scroll = GUILayout.BeginScrollView(scroll);
        Rect r = GUILayoutUtility.GetRect(presentParams.rectDims.x, presentParams.rectDims.y);

        if (ev.type == EventType.MouseDown && ev.button == 0 && r.Contains(ev.mousePosition))
        {
            int selX  = ((int)ev.mousePosition.x - presentParams.border) / presentParams.tileWidth;
            int selY  = ((int)ev.mousePosition.y - presentParams.border) / presentParams.tileHeight;
            int selId = selY * presentParams.numTilesPerRow + selX;
            if (selX < presentParams.numTilesPerRow && selY < presentParams.numRows)
            {
                selectedIndex = Mathf.Clamp(selId, 0, selectedDefinitions.Count - 1);
                Repaint();
            }

            if (ev.clickCount == 2)
            {
                PerformSelection();
                Close();
            }

            ev.Use();
        }

        r.x += presentParams.border;
        r.y += presentParams.border;

        if (spriteThumbnailRenderer == null)
        {
            spriteThumbnailRenderer = new tk2dSpriteThumbnailCache();
        }

        int   ix    = 0;
        float x     = r.x;
        float y     = r.y;
        int   index = 0;

        foreach (tk2dSpriteDefinition def in selectedDefinitions)
        {
            Rect spriteRect = new Rect(x, y, tileSize, tileSize);
            tk2dGrid.Draw(spriteRect, Vector2.zero);
            spriteThumbnailRenderer.DrawSpriteTextureInRect(spriteRect, def, Color.white);

            Rect labelRect = new Rect(x, y + tileSize + presentParams.labelOffset, tileSize, presentParams.labelHeight);
            if (selectedIndex == index)
            {
                GUI.Label(labelRect, "", tk2dEditorSkin.Selection);
            }
            GUI.Label(labelRect, def.name, EditorStyles.miniLabel);

            if (++ix >= presentParams.numTilesPerRow)
            {
                ix = 0;
                x  = r.x;
                y += presentParams.tileHeight;
            }
            else
            {
                x += presentParams.tileWidth;
            }
            index++;
        }

        GUILayout.EndScrollView();
    }
    void DrawSpriteCollection(tk2dSpriteCollectionData spriteCollection)
    {
        Event ev = Event.current;
        int tileSize = presentParams.TileSize;

        scroll = GUILayout.BeginScrollView(scroll);
        Rect r = GUILayoutUtility.GetRect(presentParams.rectDims.x, presentParams.rectDims.y);

        if (ev.type == EventType.MouseDown && ev.button == 0 && r.Contains(ev.mousePosition))
        {
            int selX = ((int)ev.mousePosition.x - presentParams.border) / presentParams.tileWidth;
            int selY = ((int)ev.mousePosition.y - presentParams.border) / presentParams.tileHeight;
            int selId = selY * presentParams.numTilesPerRow + selX;
            if (selX < presentParams.numTilesPerRow && selY < presentParams.numRows) {
                selectedIndex = Mathf.Clamp(selId, 0, selectedDefinitions.Count - 1);
                Repaint();
            }

            if (ev.clickCount == 2)
            {
                PerformSelection();
                Close();
            }

            ev.Use();
        }

        r.x += presentParams.border;
        r.y += presentParams.border;

        if (spriteThumbnailRenderer == null)
            spriteThumbnailRenderer = new tk2dSpriteThumbnailCache();

        int ix = 0;
        float x = r.x;
        float y = r.y;
        int index = 0;
        foreach (tk2dSpriteDefinition def in selectedDefinitions)
        {
            Rect spriteRect = new Rect(x, y, tileSize, tileSize);
            tk2dGrid.Draw(spriteRect, Vector2.zero);
            if (ev.type == EventType.Repaint)
            {
                float sw = def.untrimmedBoundsData[1].x;
                float sh = def.untrimmedBoundsData[1].y;
                float s_epsilon = 0.00001f;
                if (sw > s_epsilon && sh > s_epsilon)
                {
                    // rescale retaining aspect ratio
                    if (sw > sh)
                        spriteRect = new Rect(x, y, tileSize, tileSize * sh / sw);
                    else
                        spriteRect = new Rect(x, y, tileSize * sw / sh, tileSize);
                    spriteRect.x = x + (tileSize - spriteRect.width) / 2;
                    spriteRect.y = y + (tileSize - spriteRect.height) / 2;
                }

                spriteThumbnailRenderer.DrawSpriteTexture(spriteRect, def, Color.white);
            }

            Rect labelRect = new Rect(x, y + tileSize + presentParams.labelOffset, tileSize, presentParams.labelHeight);
            if (selectedIndex == index)
            {
                GUI.Label(labelRect, "", tk2dEditorSkin.Selection);
            }
            GUI.Label(labelRect, def.name, EditorStyles.miniLabel);

            if (++ix >= presentParams.numTilesPerRow)
            {
                ix = 0;
                x = r.x;
                y += presentParams.tileHeight;
            }
            else
            {
                x += presentParams.tileWidth;
            }
            index++;
        }

        GUILayout.EndScrollView();
    }
 protected void OnEnable()
 {
     thumbnailCache = new tk2dSpriteThumbnailCache();
     targetSprites  = GetTargetsOfType <tk2dBaseSprite>(targets);
 }
Example #8
0
 void OnEnable()
 {
     thumbnailCache = new tk2dSpriteThumbnailCache();
 }