Пример #1
0
    public static void Armadilha(ArmadilhaModel model,
                                 Armadilha armadilha,
                                 float bpm,
                                 GameObject buraco,
                                 AudioClip somAoSurgir,
                                 AudioClip somPancada,
                                 AudioClip somDano,
                                 GameObject acertouEfeito)
    {
        Criar(model, bpm, buraco, somAoSurgir, somPancada, somDano, acertouEfeito);

        model.Vida          = armadilha.vida;
        model.Pontos        = armadilha.pontos;
        model.PontosPowerUp = armadilha.pontosPowerUp;
        model.PontosTimer   = armadilha.pontosTimer;
        model.Velocidade    = armadilha.velocidade;
        model.Dano          = armadilha.dano;
        model.Raridade      = armadilha.raridade;
        model.TemposNaTela  = armadilha.temposNaTela / (bpm / 60f);

        model.TipoDeArmadilha = armadilha.tipoDeAmadilha;
    }
Пример #2
0
    public override void OnNotificacao(string evento_caminho, Object alvo, params object[] dados)
    {
        switch (evento_caminho)
        {
        case Notificacao.Armadilha.Surgindo:
            model = GetComponent <ArmadilhaModel>();
            view  = GetComponentInChildren <ArmadilhaView>();
            if (alvo == view)
            {
                view.TocarSom(model.SomAoSurgir);
                view.Surgir(model.Velocidade, model.Buraco.transform.position.y + 1.55f);
            }
            break;

        case Notificacao.Armadilha.Idle:
            if (alvo == view)
            {
                view.Idle(model.TemposNaTela);
            }
            break;

        case Notificacao.Armadilha.FoiAcertada:
            if (alvo == view)
            {
                app.DebugArmadilha("FoiAcertada");
                if (model.Dano > 0)
                {
                    view.TocarSom(model.SomDano);
                    app.Notificar(Notificacao.Jogador.PerdeuVida, this, model.Dano);
                }
                else
                {
                    view.TocarSom(model.SomPancada);
                }
                model.Vida--;
                if (model.Vida <= 0)
                {
                    view.Acertou(model.AcertouEfeito);
                    model.Descendo = true;
                    app.Notificar(Notificacao.Jogador.GanhouPontos, this, model.Pontos, model.PontosPowerUp, model.PontosTimer);
                    view.Descer();
                }
                else
                {
                    view.Acertou(model.AcertouEfeito);
                }
            }

            /*
             * if (alvo == view)
             * {
             *  model.Vida--;
             *  if (model.Vida <= 0)
             *  {
             *      view.TocarSom(model.SomDano);
             *      app.Notificar(Notificacao.Jogador.PerdeuVida, this, model.Dano);
             *      view.Acertou(model.AcertouEfeito);
             *      view.Descer();
             *  }
             * }
             */
            break;

        case Notificacao.Armadilha.Desceu:
            if (alvo == view)
            {
                model.Buraco.GetComponent <Buraco>().EstaOcupado = false;
                Destroy(gameObject, 0.2f);
            }
            break;


            /*
             * case Notificacao.Fase.Parar:
             * view.Rodando(false);
             * break;
             *
             * case Notificacao.Fase.Voltar:
             * view.Rodando(true);
             * break;
             */
        }
    }