示例#1
0
    public void ComecarDialogo(Dialogo _dialogo, NpcDialogo _npcDialogoQA)
    {
        if (npcDialogo == null && _dialogo != null)
        {
            GameManager.UISendoUsada();

            dialogo = _dialogo;

            for (int i = 0; i < dialogo.nodulos.Length; i++)
            {
                for (int j = 0; j < dialogo.nodulos[i].respostas.Count; j++)
                {
                    if (!ManagerQuest.VerifyQuestIsAvailable(dialogo.nodulos[i].respostas[j].questIndex))
                    {
                        dialogo.nodulos[i].respostas.RemoveAt(j);
                        j--;
                    }
                }
            }

            npcDialogo = _npcDialogoQA;

            if (npcDialogo)
            {
                questsIndex.Add(npcDialogo.questIndex);
            }

            InicializarDialogo();
        }
    }
    private void Start()
    {
        npcDialogo = GetComponentInParent <NpcDialogo>();
        if (!npcDialogo)
        {
            return;
        }

        spriteRenderer = GetComponent <SpriteRenderer>();

        shouldUpdate = true;
    }
示例#3
0
    private void TeacherSetUp()
    {
        professor.professor.gameObject.GetComponent <PolygonCollider2D>().enabled = false;
        NpcDialogo dialogo = professor.professor.gameObject.GetComponent <NpcDialogo>();

        dialogo.dialogoObrigatorio = true;
        dialogo.enabled            = false;

        for (int j = 0; j < professor.falasGeneralistas.Length; j++)
        {
            if (Player.Instance.MissionHistory[Player.Instance.missionID].totalMissionPoints >= professor.falasGeneralistas[j].rangeNota.x &&
                Player.Instance.MissionHistory[Player.Instance.missionID].totalMissionPoints <= professor.falasGeneralistas[j].rangeNota.y)
            {
                // Adicionar fala de despedida e recomendação à Lurdinha para
                // que converse com os alunos após esta conversa (pós-aula)
                var falaDespedida = "Neste momento, posso ver que os alunos estão falando sobre a aula, você pode conversar com eles para saber suas opiniões.";
                // Extrair o array de falas do professor
                var falas = professor.falasGeneralistas[j].dialogos[0].nodulos[0].falas;
                // Redimensionar o array para aceitar mais um paragrafo de fala
                Array.Resize(ref falas, falas.Length + 1);

                var ultimoIndice = falas.Length - 1;
                falas[ultimoIndice] = new Fala
                {
                    fala       = falaDespedida,
                    personagem = falas[ultimoIndice - 1].personagem,
                    emocao     = falas[ultimoIndice - 1].emocao
                };

                // Encaixar o array com as (falas originais + fala nova) no
                // conjunto de falas do professor
                dialogo.dialogoPrincipal = professor.falasGeneralistas[j].dialogos[0].Clone();
                dialogo.dialogoPrincipal.nodulos[0].falas = falas;
            }
        }
    }
示例#4
0
    public void AcabarConversa()
    {
        GameManager.UINaoSendoUsada();

        if (npcDialogo != null)
        {
            npcDialogo.OnEndDialogue();
        }
        npcDialogo = null;
        personagemRosto[1].sprite = null;
        escrevendo = false;

        nodulo      = 0;
        proximaFala = 0;

        sistemaDialogoUI.SetActive(false);

        foreach (int questIndex in questsIndex)
        {
            ManagerQuest.QuestTakeStep(questIndex);
        }

        questsIndex.Clear();
    }