new void Start()
    {
        if (ExistenciaDoController.AgendaExiste(Start, this))
        {
            KeyVar keys = GameController.g.MyKeys;


            Debug.Log("Conversou primeiro com Derek: " + keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) +
                      " - venceu Derek: " + keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez));


            if (keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) && keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez))
            {
                if (keys.VerificaAutoShift(KeyShift.entreouCanetaDeIan))
                {
                    npc = npcIan;
                }
                else
                {
                    MbItens.RetirarUmItem(GameController.g.Manager, PegaUmItem.Retorna(nomeIDitem.canetaSagradaDeLog), 1);
                }
            }
            else if (!keys.VerificaAutoShift(KeyShift.conversouPrimeiroComDerek) && !keys.VerificaAutoShift(KeyShift.venceuDerekPrimeiraVez))
            {
                Debug.Log("Ué....");
                npc = npcMov;
            }

            base.Start();
        }
    }
 public void BotaoComprar()
 {
     if (comprar)
     {
         if (dados.Cristais >= quantidade * esseItem.Valor)
         {
             dados.AdicionaItem(esseItem.ID, quantidade);
             dados.Cristais -= quantidade * esseItem.Valor;
             GameController.g.HudM.AtualizeImagemDeAtivos();
             EntrarNaFraseAgradecer();
             //gameObject.SetActive(false);
         }
         else if (dados.Cristais < esseItem.Valor)
         {
             DesligaBotoes();
             GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes,
                 string.Format(textos[11], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID))
                 );
             AtualizaQuantidade(1, esseItem.Valor);
         }
         else
         {
             DesligaBotoes();
             GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes,
                 string.Format(textos[7], dados.Cristais / esseItem.Valor, MbItens.NomeEmLinguas(esseItem.ID))
                 );
             AtualizaQuantidade(dados.Cristais / esseItem.Valor, esseItem.Valor);
         }
     }
     else
     {
         if (quantidade <= dados.TemItem(esseItem.ID))
         {
             MbItens.RetirarUmItem(GameController.g.Manager, esseItem, quantidade, FluxoDeRetorno.armagedom);
             dados.Cristais += (quantidade * Mathf.Max(1, esseItem.Valor / 4));
             GameController.g.HudM.AtualizeImagemDeAtivos();
             EntrarNaFraseAgradecer();//gameObject.SetActive(false);
         }
         else
         {
             DesligaBotoes();
             GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(ReligarBotoes,
                 string.Format(textos[8], dados.TemItem(esseItem.ID), MbItens.NomeEmLinguas(esseItem.ID))
                 );
             AtualizaQuantidade(dados.TemItem(esseItem.ID), Mathf.Max(1, esseItem.Valor / 4));
         }
     }
 }
Beispiel #3
0
    void ComprarOuNaoComprar(int indice)
    {
        GameController.g.HudM.Menu_Basico.FinalizarHud();
        DisparaTexto      disparaT = GameController.g.HudM.DisparaT;
        KeyVar            keys     = GameController.g.MyKeys;
        DadosDoPersonagem dados    = GameController.g.Manager.Dados;

        disparaT.DesligarPaineis();


        int val = !indice1
            ? (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados))
            : (int)Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados));

        switch (indice)
        {
        case 0:
            if (dados.TemItem(nomeIDitem.tinteiroSagradoDeLog) >= val && dados.Cristais >= 100 * val)
            {
                dados.Cristais -= 100 * val;
                GameController.g.HudM.AtualizeImagemDeAtivos();
                MbItens.RetirarUmItem(GameController.g.Manager, nomeIDitem.tinteiroSagradoDeLog, val);
                dados.AdicionaItem(indice1 ? nomeIDitem.pergAlana : nomeIDitem.pergSinara);
                disparaT.ReligarPaineis();
                disparaT.Dispara(conversa[2], fotoDoNPC);
                estadoInterno = EstadoInterno.fraseDeBoaCompra;
                keys.SomaCont(indice1 ? KeyCont.pergAlanaComprados : KeyCont.pergSinaraComprados, 1);
            }
            else
            {
                disparaT.ReligarPaineis();
                disparaT.Dispara(conversa[1], fotoDoNPC);
                estadoInterno = EstadoInterno.fraseInsuficiente;
            }
            break;

        case 1:
            EntraNasEscolhas();
            break;
        }
    }