Пример #1
0
    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();
        }
    }