Beispiel #1
0
    public override void RebuildAllColliders()
    {
        UpdateCollidable();

        DestroyCollider();

        var alphaTex = destructibleSprite.AlphaTex;

        if (alphaTex != null)
        {
            var spriteRenderer = D2D_Helper.GetOrAddComponent <SpriteRenderer>(child);
            var sprite         = Sprite.Create(alphaTex, new Rect(0, 0, alphaTex.width, alphaTex.height), Vector2.zero, 1.0f, 0, SpriteMeshType.FullRect);

            spriteRenderer.sprite = sprite;

            collider = child.AddComponent <PolygonCollider2D>();

            // Disable the collider if it couldn't form any triangles
            collider.enabled = IsDefaultPolygonCollider2D(collider) == false;

            D2D_Helper.Destroy(sprite);
            D2D_Helper.Destroy(spriteRenderer);

            UpdateColliderSettings();
        }
    }
	private static void MakeDestructible(UnityEditor.MenuCommand mc)
	{
		if (mc != null && mc.context != null)
		{
			var spriteRenderer = mc.context as SpriteRenderer;
			
			if (spriteRenderer != null)
			{
				D2D_Helper.GetOrAddComponent<D2D_DestructibleSprite>(spriteRenderer.gameObject);
			}
		}
	}
Beispiel #3
0
    public void RebuildCollider(Texture2D alphaTex)
    {
        DestroyPolygonCollider2D();

        if (alphaTex != null)
        {
            if (polygonCollider2D == null)
            {
                var spriteRenderer = D2D_Helper.GetOrAddComponent <SpriteRenderer>(gameObject);
                var sprite         = Sprite.Create(alphaTex, new Rect(0, 0, alphaTex.width, alphaTex.height), Vector2.zero, 1.0f, 0, SpriteMeshType.FullRect);

                spriteRenderer.sprite = sprite;

                polygonCollider2D = gameObject.AddComponent <PolygonCollider2D>();

                // Disable the collider if it couldn't form any triangles
                polygonCollider2D.enabled = IsDefaultPolygonCollider2D(polygonCollider2D) == false;

                D2D_Helper.Destroy(sprite);
                D2D_Helper.Destroy(spriteRenderer);
            }
        }
    }