Exemple #1
0
    // Check Before Each Function - Then This Could Be Private
    public void Initialize()
    {
        colliderType = Polygon.GetColliderType(gameObject);

        List <Polygon> result = Polygon.GetListFromCollider(gameObject);

        // Split collider if there are more polygons than 1
        if (result.Count > 1)
        {
            PerformResult(result);
        }

        switch (textureType)
        {
        case TextureType.Mesh:
            PolygonGenerator2D.GenerateMesh(gameObject, Polygon.CreateFromCollider(gameObject), new Vector2(1, 1));
            MeshRenderer meshRenderer = GetComponent <MeshRenderer> ();
            meshRenderer.material = material;

            break;

        case TextureType.Sprite:
            if (GetComponent <SpriteRenderer> () != null)
            {
                gameObject.AddComponent <SpriteMesh2D> ();
            }

            break;

        default:
            break;
        }
    }
Exemple #2
0
    private void CreatePolygon(Polygon newPolygon)
    {
        GameObject newGameObject = new GameObject();

        newGameObject.AddComponent <Rigidbody2D> ();
        newGameObject.transform.parent = transform;
        newGameObject.AddComponent <ColliderLineRenderer2D> ().color = Color.black;
        PolygonGenerator2D.GenerateCollider(newGameObject, newPolygon);

        Slicer2D smartSlicer = newGameObject.AddComponent <Slicer2D> ();

        smartSlicer.textureType = Slicer2D.TextureType.Mesh;
        smartSlicer.material    = material;

        PolygonGenerator2D.GenerateMesh(newGameObject, newPolygon, new Vector2(1, 1));
    }
Exemple #3
0
    void Start()
    {
        // Generate Mesh from collider
        PolygonGenerator2D.GenerateMesh(gameObject, Polygon.CreateFromCollider(gameObject), Vector2.zero);

        // Setting Mesh material
        if (material != null)
        {
            MeshRenderer meshRenderer = GetComponent <MeshRenderer> ();
            meshRenderer.material = material;

            meshRenderer.sortingLayerName = sortingLayerName;
            meshRenderer.sortingLayerID   = sortingLayerID;
            meshRenderer.sortingOrder     = sortingOrder;
        }
    }
Exemple #4
0
    void Update()
    {
        if (added == false)
        {
            SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer> ();
            if (spriteRenderer == null)
            {
                if (texture != null)
                {
                    added = true;

                    PolygonGenerator2D.GenerateMesh(gameObject, Polygon.CreateFromCollider(gameObject), scale);

                    MeshRenderer meshRenderer = GetComponent <MeshRenderer> ();
                    if (meshRenderer == null)
                    {
                        meshRenderer = gameObject.AddComponent <MeshRenderer> ();
                    }

                    meshRenderer.material             = new Material(Shader.Find("Sprites/Default"));
                    meshRenderer.material.mainTexture = texture;
                    meshRenderer.material.color       = color;

                    meshRenderer.sortingLayerName = sortingLayerName;
                    meshRenderer.sortingLayerID   = sortingLayerID;
                    meshRenderer.sortingOrder     = sortingOrder;
                }
            }
            else
            {
                texture = spriteRenderer.sprite.texture;
                color   = spriteRenderer.color;
                scale   = new Vector2(spriteRenderer.sprite.rect.width / spriteRenderer.sprite.pixelsPerUnit, spriteRenderer.sprite.rect.height / spriteRenderer.sprite.pixelsPerUnit);

                sortingLayerID   = spriteRenderer.sortingLayerID;
                sortingLayerName = spriteRenderer.sortingLayerName;
                sortingOrder     = spriteRenderer.sortingOrder;

                Destroy(spriteRenderer);
            }
        }
    }