Exemplo n.º 1
0
    internal void placeCube()
    {
        float offset;

        moveSpeed = 0f;


        if (gameObject.name == "start")
        {
            GameObject.Find("Canvas").SetActive(false);
            return;
        }

        // daca nu se ating deloc
        if (moveDir == spawner.MoveDir.Z)
        {
            offset = transform.position.z - lastCube.transform.position.z;
            if (Mathf.Abs(offset) >= lastCube.transform.localScale.z)
            {
                gameObject.AddComponent <Rigidbody>();
                return;
            }
        }
        else
        {
            offset = transform.position.x - lastCube.transform.position.x;
            if (Mathf.Abs(offset) >= lastCube.transform.localScale.x)
            {
                gameObject.AddComponent <Rigidbody>();
                return;
            }
        }


        // x sau z
        float direction = (offset > 0f) ? 1f : -1f;

        // daca sunt foarte aproape sa le puna ok ( marja de eroare)
        if (Mathf.Abs(offset) < 0.08f)
        {
            transform.position = new Vector3(lastCube.transform.position.x, transform.position.y, lastCube.transform.position.z);
        }
        else // daca nu, le taie
        {
            if (moveDir == spawner.MoveDir.Z)
            {
                splitCubeOnZ(offset, direction);
            }
            else
            {
                splitCubeOnX(offset, direction);
            }
        }

        lastCube = this;
    }
Exemplo n.º 2
0
    private void OnEnable()
    {
        // cubu de inceput devine last cube
        if (lastCube == null)
        {
            lastCube = GameObject.Find("start").GetComponent <movingCube>();
        }

        currentCube = this;

        transform.localScale = new Vector3(lastCube.transform.localScale.x, transform.localScale.y, lastCube.transform.localScale.z);
    }
Exemplo n.º 3
0
    public void spawnCube()
    {
        movingCube block = Instantiate(blockPrefab);

        block.moveDir = dir;

        float x_offset = dir == spawner.MoveDir.X ? transform.position.x : movingCube.lastCube.transform.position.x;
        float z_offset = dir == spawner.MoveDir.Z ? transform.position.z : movingCube.lastCube.transform.position.z;

        if (movingCube.lastCube.name == "start")
        {
            block.transform.position = transform.position;
        }
        else
        {
            block.transform.position = new Vector3(x_offset,
                                                   movingCube.lastCube.transform.position.y + blockPrefab.transform.localScale.y, z_offset);
        }
    }