Exemple #1
0
    void Update()
    {
        // Se não há mais ondas para realizar e não esta acontecendo nenhuma onda
        if (ondasRealizadas == quantidadeDeOndas && ondaAtual == null)
        {
            // Avisamos para o gerenciador de jogo que esta fase está completa e desativamos este script
            GerenciadorJogo.instancia.FaseCompleta();
            gameObject.SetActive(false);
        }

        // Se não es		tamos realizando uma onda no momento
        if (ondaAtual == null)
        {
            // Incrementa o cronometro
            cronometro = cronometro + Time.deltaTime;
        }

        // Se esta na hora de iniciar uma nova onda
        if (cronometro >= tempoEntreOndas)
        {
            // Adicionamos o script de onda neste GameObject
            ondaAtual = gameObject.AddComponent <Onda>();
            // Inicializamos suas variaveis publicas
            ondaAtual.numeroInimigos = inimigosPorOnda;
            ondaAtual.inimigo        = inimigo;
            // Contamos esta onda como realizada e zeramos o cronometro
            ondasRealizadas = ondasRealizadas + 1;
            cronometro      = 0.0f;
        }
    }
    Onda CriarNovaOndaSobrevivencia()
    {
        int dir = 1;

        if (Utilidade.MeiaChance())
        {
            dir = -1;
        }

        List <Passante> listapassantes = new List <Passante>();

        float vel = Random.Range(1.0f, 1.5f) *
                    ((float)Dados.jogoRapidoDificuldade * dir);

        Passante passante = new Passante(vel, Pontes.Cima);

        listapassantes.Add(passante);

        if (podeLancarMaisDeUmSobrevivencia)
        {
            float changeVir1 = ((float)Dados.jogoRapidoDificuldadeMaxima -
                                Dados.jogoRapidoDificuldade + 1);

            changeVir1 /= ((float)Dados.jogoRapidoDificuldadeMaxima);

            float chanceVir2 = 1f - changeVir1;
            float chanceVir3 = chanceVir2 * 0.333f;

            float aleatorio = Random.value;

            if (aleatorio < chanceVir2)
            {
                Passante passante2 = new Passante(vel * 0.8f, Pontes.Cima);
                listapassantes.Add(passante2);
            }

            if (aleatorio < chanceVir3)
            {
                Passante passante3 = new Passante(vel * 0.6f, Pontes.Cima);
                listapassantes.Add(passante3);
            }
        }

        Onda onda = new Onda(listapassantes);

        return(onda);
    }
Exemple #3
0
 Onda IServicioOnda.ModificarRecorridoOnda(Onda onda, float recorrido) // recorrido = y
 {
     return(onda);
 }
Exemple #4
0
 Onda IServicioOnda.ModificarFrequenciaOnda(Onda onda, float longitud) // longitud = x
 {
     return(onda);
 }