private void SpawnSquare() { if (Input.GetMouseButtonDown(0) && canClick && SpawnedSquares != tunnelManager.MaxSquares) { canClick = false; GameObject squareInst = Instantiate(gameObject, transform.position, transform.rotation); squareInst.transform.localScale = transform.localScale; squareInst.GetComponent <SpriteRenderer>().material = materials[MatIndex]; squareInst.GetComponent <SpriteRenderer>().sortingOrder = OrderInLayer; squareInst.transform.DOScale(transform.localScale.x * scaleFactor, .2f); Vector3 newRot = new Vector3(0, 0, squareInst.transform.eulerAngles.z + rotationAmount); squareInst.transform.DORotate(newRot, .2f); UpdateMaterialIndex(); OrderInLayer++; SpawnedSquares++; squareInst.GetComponent <Tunnel>().MatIndex = MatIndex; squareInst.GetComponent <Tunnel>().OrderInLayer = OrderInLayer; squareInst.GetComponent <Tunnel>().SpawnedSquares = SpawnedSquares; tunnelManager.AddToList(squareInst); PlaySound(); } }