protected override int SetarOpcoes()
    {
        List <ItensAVenda> I      = new List <ItensAVenda>();
        KeyVar             myKeys = GameController.g.MyKeys;

        for (int i = 0; i < itensParaVender.Length; i++)
        {
            Debug.Log("Id daqui: " + ID);

            if (myKeys.VerificaAutoShift("concluido, loja " + ID + " item " + i))
            {
                itensParaVender[i].quantidadeDisponivel = 0;
            }
            else if (myKeys.VerificaAutoCont("quantidade disponivel, loja " + ID + " item " + i) > 0)
            {
                itensParaVender[i].quantidadeDisponivel = myKeys.VerificaAutoCont("quantidade disponivel, loja " + ID + " item " + i);
            }
        }

        for (int i = 0; i < itensParaVender.Length; i++)
        {
            if (myKeys.VerificaAutoShift(itensParaVender[i].preRequisito) &&
                (itensParaVender[i].quantidadeDisponivel > 0 || itensParaVender[i].quantidadeDisponivel == -1))
            {
                I.Add(itensParaVender[i]);
            }
        }

        itensPossiveisDeVender = I.ToArray();


        ChangeOption(0);

        return(I.Count);
    }
Example #2
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        KeyVar myKeys = GameController.g.MyKeys;

        if (collision.tag == "attackCollisor")
        {
            Debug.Log(myKeys.VerificaAutoCont(ID) + " os hits");
            myKeys.SomaAutoCont(ID, 1);
            int  moedasAgora;
            bool foi = myKeys.VerificaAutoCont(ID) < numHits;

            moedasAgora = numMoedas / (numHits + 1);

            if (!foi)
            {
                moedasAgora = numMoedas - (numHits - 1) * moedasAgora;
            }


            SpawnMoedas.Spawn(transform.position, moedasAgora);
            new MyInvokeMethod().InvokeNoTempoDeJogo(() =>
            {
                EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, "Break"));
            }, .3f);

            if (!foi)
            {
                myKeys.MudaAutoShift(ID, true);
                particulaDaFinalizacao.SetActive(true);
                Destroy(GetComponent <Collider2D>());
                Destroy(GetComponent <SpriteRenderer>());
                Destroy(gameObject, 5);
            }
        }
    }
Example #3
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        KeyVar kv = GameController.g.MyKeys;

        if (collision.tag == "attackCollisor" && !kv.VerificaEnemyShift(ID))
        {
            //kv.SomaAutoCont(ID, 1);
            EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, som));
            EventAgregator.Publish(new StandardSendGameEvent(EventKey.sumContShift, ID, 1));
            EventAgregator.Publish(new StandardSendGameEvent(EventKey.requestChangeEnemyKey, "limparContPentagono" + ID));

            if (kv.VerificaAutoCont(ID) >= contCargasTotais)
            {
                EventAgregator.Publish(new StandardSendGameEvent(EventKey.requestChangeEnemyKey, ID));
                Desativar();
                new MyInvokeMethod().InvokeNoTempoDeJogo(() => {
                    EventAgregator.Publish(new StandardSendGameEvent(EventKey.disparaSom, SoundEffectID.exitCheckPoint));
                }, .5f);
            }

            InstanciaLigando.Instantiate(particulaDeAcao, 0.5f * (collision.transform.position + transform.position), 5);
            DadosDoJogador dj = GameController.g.Manager.Dados;

            if (dj.PontosDeMana < dj.MaxMana)
            {
                dj.AdicionarMana(taxaDeRecuperacao);
                EventAgregator.Publish(new StandardSendGameEvent(EventKey.changeMagicPoints, dj.PontosDeMana, dj.MaxMana));
            }
        }
    }
Example #4
0
    string[] RetornaArgumentosPreVenda()
    {
        string[] retorno = new string[3];
        KeyVar   keys    = GameController.g.MyKeys;

        retorno[0] = !indice1?MbItens.NomeEmLinguas(nomeIDitem.pergSinara) : MbItens.NomeEmLinguas(nomeIDitem.pergAlana);

        retorno[1] = !indice1
            ? Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados)).ToString()
            : Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados)).ToString();

        retorno[2] = !indice1
            ? (100 * Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergSinaraComprados))).ToString()
            : (100 * Mathf.Pow(2, keys.VerificaAutoCont(KeyCont.pergAlanaComprados))).ToString();
        return(retorno);
    }
Example #5
0
        void VerificaQualFala()
        {
            KeyVar myKeys = AbstractGameController.Instance.MyKeys;

            Debug.Log("ultimo indice no inicio: " + ultimoIndice);


            int indiceFinal = ultimoIndice > 0 ? Mathf.Min(ultimoIndice, falas.Length) : falas.Length;


            for (int i = 0; i < indiceFinal; i++)
            {
                if (myKeys.VerificaAutoShift(falas[i].ChaveCondicionalDaConversa))
                {
                    conversa     = TextBank.RetornaListaDeTextoDoIdioma(falas[i].ChaveDeTextoDaConversa).ToArray();
                    ultimoIndice = i;
                }
            }

            Debug.Log(indiceFinal + " : " + ultimoIndice);

            if (falas[ultimoIndice].Repetir >= 0)
            {
                string kCont = falas[ultimoIndice].ChaveCondicionalDaConversa.ToString();

                myKeys.SomaAutoCont(kCont, 1);
                if (falas[ultimoIndice].Repetir < myKeys.VerificaAutoCont(kCont))
                {
                    myKeys.MudaShift(falas[ultimoIndice].ChaveCondicionalDaConversa, false);
                }
            }
        }
Example #6
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;
        }
    }
Example #7
0
    void VerificaQualFala()
    {
        KeyVar myKeys = GameController.g.MyKeys;

        Debug.Log("ultimo indice no inicio: " + ultimoIndice);

        //int indiceInicial = ultimoIndice < falas.Length ? Mathf.Max(ultimoIndice,0) : 0;
        int indiceFinal = ultimoIndice > 0 ? Mathf.Min(ultimoIndice, falas.Length) : falas.Length;


        for (int i = 0; i < indiceFinal; i++)
        //for (int i = falas.Length - 1; i >= indiceInicial; i--)
        {
            if (myKeys.VerificaAutoShift(falas[i].ChaveCondicionalDaConversa))
            {
                conversa     = BancoDeTextos.RetornaListaDeTextoDoIdioma(falas[i].ChaveDeTextoDaConversa).ToArray();
                ultimoIndice = i;
            }
        }

        Debug.Log(indiceFinal + " : " + ultimoIndice);

        if (falas[ultimoIndice].Repetir >= 0)
        {
            string kCont = falas[ultimoIndice].ChaveCondicionalDaConversa.ToString();

            myKeys.SomaAutoCont(kCont, 1);
            if (falas[ultimoIndice].Repetir < myKeys.VerificaAutoCont(kCont))
            {
                myKeys.MudaShift(falas[ultimoIndice].ChaveCondicionalDaConversa, false);
            }
        }

        //ultimoIndice--;

        /*
         * if (!GameController.g.MyKeys.VerificaAutoShift(falas[i].ChaveCondicionalDaConversa))
         *  conversa = BancoDeTextos.RetornaListaDeTextoDoIdioma(falas[i].ChaveDeTextoDaConversa).ToArray();
         * // conversa é uma variavel protected da classe pai*/
    }