Beispiel #1
0
    public string GenerateTextWithLength(int length)
    {
        char[] text = new char[length];

        for (int i = 0; i < length; i++)
        {
            int randomIndex = UnityEngine.Random.Range(0, _charactersArray.Length - 1);
            text[i] = _charactersArray[randomIndex];
        }

        return(text.ArrayToString());
    }
Beispiel #2
0
 public static string FixUnityText(string p_text)
 {
     if (p_text.Length > 0)
     {
         char[] text    = p_text.ToCharArray();
         char[] newText = new char[p_text.Length - 1];
         for (int i = 0; i < p_text.Length - 1; i++)
         {
             newText[i] = text[i];
         }
         return(newText.ArrayToString());
     }
     else
     {
         return("");
     }
 }
Beispiel #3
0
    public void ProximaFala()
    {
        foreach (Image image in personagemRosto)
        {
            if (image.sprite != null)
            {
                image.color = opacidade.Desligar();
            }
        }

        if (dialogo.nodulos[nodulo].falas.Length > proximaFala)
        {
            falaAtual = dialogo.nodulos[nodulo].falas[proximaFala];

            for (int i = 0; i < falaAtual.fala.ToCharArray().Length; i++)
            {
                if ((int)falaAtual.fala.ToCharArray()[i] == 13)
                {
                    char[] m = new char[falaAtual.fala.ToCharArray().Length - 1];

                    for (int j = 0; j < m.Length; j++)
                    {
                        if (j < i)
                        {
                            m[j] = falaAtual.fala.ToCharArray()[j];
                        }
                        else
                        {
                            m[j] = falaAtual.fala.ToCharArray()[j + 1];
                        }
                    }

                    falaAtual.fala = m.ArrayToString();
                }
            }
        }

        faladorAtual = Falador.BuscarPolaroideNosAssets(falaAtual.personagem, falaAtual.emocao);

        npcNome.text = faladorAtual.nome;

        var balaoDeFala = painel.transform.GetChild(0).GetComponent <Image>();

        if (falaAtual.personagem == Personagens.Lurdinha)
        {
            // Trocar a cor do balão de fala para a cor que a Lurdinha usa
            balaoDeFala.color = corDialogoLurdinha;

            personagemRosto[0].color  = opacidade.Ligar();
            personagemRosto[0].sprite = faladorAtual.personagem;
            painel.transform.rotation = Quaternion.identity;
        }
        else
        {
            // Trocar a cor do balão de fala para a original novamente
            balaoDeFala.color = new Color(1, 1, 1);

            personagemRosto[1].color  = opacidade.Ligar();
            personagemRosto[1].sprite = faladorAtual.personagem;
            painel.transform.rotation = Quaternion.Euler(0, 180, 0);
        }


        // Apresentar o botão de retornar para a fala anterior
        var indiceFalaAtual = proximaFala;

        if (indiceFalaAtual > 0 && dialogo.nodulos[nodulo].falas[indiceFalaAtual - 1].fala != "")
        {
            botaoRetornar.gameObject.SetActive(true);
        }
        else
        {
            botaoRetornar.gameObject.SetActive(false);
        }

        if (falaAtual.fala == "")
        {
            proximaFala++;

            Analise();

            botao.onClick.Invoke();
        }
        else
        {
            corrotina = StartCoroutine(Escrever());
        }
    }
Beispiel #4
0
    IEnumerator Decryption()
    {
        decrypting = true;

        counter     = 0;
        currentChar = "";
        length      = password.Length;
        passChars   = password.ToCharArray();

        char[] encryptedChars = new char[encryptedTextLength];

        int currentWave = Random.Range(0, waveAmount);



        //Fill encrypted Text
        for (int i = 0; i < encryptedTextLength; i++)
        {
            encryptedChars[i] = System.Convert.ToChar(Random.Range(32, 127));
        }
        encryptedText.text = encryptedChars.ArrayToString();

        //Hints
        int charHintCounter = 0;
        int hintIndex       = 0;

        //Update Encrypted Text
        while (decrypting)
        {
            for (int i = 0; i < encryptedTextLength / waveAmount; i++)
            {
                charHintCounter++;

                if (charHintCounter >= charsBeforeNextHint)
                {
                    charHintCounter = 0;
                    currentWave     = Random.Range(0, waveAmount);
                    hintIndex       = 0;
                }

                for (int j = 0; j < waveAmount; j++)
                {
                    int index = (j * (encryptedTextLength / waveAmount)) + i;
                    encryptedChars[index] = System.Convert.ToChar(Random.Range(32, 127));
                    if (char.IsWhiteSpace(encryptedChars[index]))
                    {
                        encryptedChars[index] = '@';
                    }
                    if (encryptedChars[index] == '-')
                    {
                        encryptedChars[index] = '&';
                    }

                    if (hintIndex < password.Length)
                    {
                        if (j == currentWave)
                        {
                            encryptedChars[index] = passChars[hintIndex];
                            hintIndex++;
                        }
                    }

                    encryptedText.text = encryptedChars.ArrayToString();
                }

                yield return(new WaitForSeconds(charPause));
            }
        }

        yield return(null);
    }