Ejemplo n.º 1
0
    private void PlaceObstacleRandomly(int row, int type)
    {
        var instance = GameObject.CreatePrimitive((type == 0) ? PrimitiveType.Sphere : PrimitiveType.Cube);

        instance.transform.parent        = transform;
        instance.transform.eulerAngles   = transform.eulerAngles;
        instance.transform.localPosition = new Vector3(Random.Range(-14f, 14f) + newestRowShift * 5, 2, row * 10 + Random.Range(-4f, 4f));

        var scale = Random.Range(2f, 5f);

        if (type < 2)
        {
            instance.transform.localScale = new Vector3(scale, scale, scale);
        }
        else
        {
            instance.transform.localScale = new Vector3(Random.Range(0.5f, 3f), Random.Range(0.5f, 3f), Random.Range(0.5f, 3f));
        }

        instance.transform.Rotate(Vector3.up * Random.Range(0f, 360f));
        //instance.SetColor(Random.ColorHSV(0, 1, 0, 0.1f, 0.9f, 1, 1, 1));

        var anim = AnimatedTexture.AddToGameObject(instance, obstacleTexture);

        anim.StartAnimation(Random.Range(0f, 2f));

        var rb = instance.AddComponent <Rigidbody>();

        rb.mass = scale * 3;
    }