public void Generate(int inputLength, Transform parentTransform, float targetY, int speed = 5)
    {
        var length   = Mathf.Max(inputLength, _MIN_LENGTH);
        var position = parentTransform.position;

        position.y += targetY;

        Internals.GenerateTile(platform, parentTransform, position, speed);

        position.x += 2;

        for (int i = 0; i < length - 2; i++, position.x += 2)
        {
            Internals.GenerateTile(platform, parentTransform, position, speed);
        }

        Internals.GenerateTile(platform, parentTransform, position, speed);

        if (Random.Range(0f, 1f) < enemyProbability)
        {
            var enemyPosition   = new Vector3(parentTransform.position.x, position.y + 1f, position.z);
            var enemyGameObject = Instantiate(enemy, parentTransform, false);
            enemyGameObject.transform.position = enemyPosition;
        }
    }
    public void Generate(int inputLength, Transform parentTransform, float targetY, int speed = 5)
    {
        var length   = Mathf.Max(inputLength, _MIN_LENGTH);
        var position = parentTransform.position;

        position.y += targetY;

        Internals.GenerateTile(start, parentTransform, position, speed);

        position.x += 1;

        for (int i = 0; i < length - 2; i++, position.x++)
        {
            if (Random.Range(0f, 1f) < spikesProbability)
            {
                Internals.GenerateTile(spikes, parentTransform, position, speed);
            }
            else
            {
                Internals.GenerateTile(middle, parentTransform, position, speed);
            }
        }

        Internals.GenerateTile(end, parentTransform, position, speed);
    }
Пример #3
0
    public void Generate(Transform parentTransform, float targetY, int speed = 5)
    {
        var position = parentTransform.position;

        position.y += targetY;

        Internals.GenerateTile(dirtLeft, parentTransform, position, speed);
        position.x += 1;
        Internals.GenerateTile(dirtRight, parentTransform, position, speed);
        position.x += 1.5f;
        Internals.GenerateTile(platform, parentTransform, position, speed);
        position.x += 1.5f;
        Internals.GenerateTile(dirtLeft, parentTransform, position, speed);
        position.x += 1;
        Internals.GenerateTile(dirtRight, parentTransform, position, speed);
    }
Пример #4
0
    public void Generate(Transform parentTransform, float targetY, int speed = 5)
    {
        var position = parentTransform.position;

        position.y += targetY;

        Internals.GenerateTile(platformL, parentTransform, position, speed);
        position.x += 1;
        Internals.GenerateTile(platformR, parentTransform, position, speed);

        position.y += 1;
        if (Random.Range(0f, 1f) < victoryProbability)
        {
            Internals.GenerateTile(victory, parentTransform, position, speed);
        }
        else
        {
            Internals.GenerateTile(coin, parentTransform, position, speed);
        }
    }