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); }
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; } }