Esempio n. 1
0
    private void Spawn()
    {
        GameObject  buildingBlockPrefab = AvailableBlocks[Random.Range(0, AvailableBlocks.Length)];
        GameObject  block  = Instantiate(buildingBlockPrefab, this.transform.position, Quaternion.identity);
        StickyBlock sticky = block.AddComponent <StickyBlock>();

        sticky.color = Colors[Random.Range(0, Colors.Length)];
        block.GetComponent <Renderer>().material.SetColor("_Color", sticky.color);
        AddBlocksCheck(sticky.gameObject);
    }
Esempio n. 2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        StickyBlock otherBlock  = collision.gameObject.GetComponent <StickyBlock>();
        var         ofSameColor = otherBlock && otherBlock.color == color;
        var         bothDynamic = !collision.rigidbody.isKinematic && !collision.otherRigidbody.isKinematic;

        if (ofSameColor && bothDynamic)
        {
            FixedJoint2D joint = gameObject.AddComponent <FixedJoint2D>();
            joint.connectedBody = collision.rigidbody;
        }
    }