Exemplo n.º 1
0
 public void Awake()
 {
     //AÑADIMOS LOS DIALOGOS CARGADOS DEL XML
     dialogueClass_Class    = dialogueClass.GetComponent <LoadXml>().DClass;
     AnswerManager          = new AnswerManager();
     DictionaryE            = goDictionary.GetComponent <DictionaryEvent>();
     CameraCenterController = Camera.main.GetComponent <CameraCenterController>();
 }
Exemplo n.º 2
0
 public void FillOtherLine(Dialogue_ConversationClass dialogueClass_Class)
 {
     for (int i = 0; i < dialogueClass_Class.rumourClass.rumoursAnswers.Count; i++)
     {
         string rumour = dialogueClass_Class.rumourClass.rumoursAnswers[i];
         rumour = CheckClue(rumour);
         rumourResponse.Add(rumour);
     }
     foreach (string greeting in dialogueClass_Class.greetingClass.greetingsAnswers)
     {
         greetingResponse.Add(greeting);
     }
     foreach (string farewell in dialogueClass_Class.farewellClass.farewell)
     {
         farewellResponse.Add(farewell);
     }
 }
Exemplo n.º 3
0
    void Awake()
    {
        ///////////////////////////////////////////

        d_Conversation = XmlLoad <Dialogue_ConversationClass>(file);
        Debug.Log("xml cargado: " + file.name);

        ///////////////////////////////////////////

        //Dialogue_ConversationClass d_Conversation = new Dialogue_ConversationClass();
        //Dialogue_UniqueQuestionClass d_UniqueClass = new Dialogue_UniqueQuestionClass();
        //Dialogue_UniqueQuestionClass d_UniqueClass2 = new Dialogue_UniqueQuestionClass();
        //Dialogue_UniqueQuestionClass d_UniqueClass3 = new Dialogue_UniqueQuestionClass();
        //Dialogue_GreetingClass d_GreetingClass = new Dialogue_GreetingClass();
        //Dialogue_RumourClass d_RumourClass = new Dialogue_RumourClass();

        //for (int i = 0; i < 5; i++)
        //{
        //    d_GreetingClass.greetingsAnswers.Add("Respuesta Saludo " + i);
        //    d_GreetingClass.greetingsQuestions.Add("¿Saludo " + i);

        //    d_RumourClass.rumoursAnswers.Add("Respuesta rumor " + i);
        //    d_RumourClass.rumoursQuestion.Add("¿Rumor " + i);
        //}

        //d_UniqueClass.speakers = 0;
        //d_UniqueClass.listener = 2;
        ////d_UniqueClass.trigger = false;
        //d_UniqueClass.keys.Clear();

        //for (int i = 0; i < 3; i++)
        //{
        //    d_UniqueClass.uniqueQuestion.Add("Pregunta unica de Majorel " + i);
        //    d_UniqueClass.uniqueAnswers.Add("Respuesta unica a Pregunta unica de Majorel " + i);
        //}

        //d_UniqueClass2.speakers = 15;
        //d_UniqueClass2.listener = -1;
        ////d_UniqueClass2.trigger = true;
        //d_UniqueClass2.keys.Add("lover");
        //for (int i = 0; i < 2; i++)
        //{
        //    d_UniqueClass2.uniqueQuestion.Add("Pregunta unica de Rosita a Quincarnon " + i);
        //    d_UniqueClass2.uniqueAnswers.Add("Respuesta unica de Quincarnon a Rosita " + i);
        //}

        //d_UniqueClass3.speakers = -1;
        //d_UniqueClass3.listener = -1;
        ////d_UniqueClass3.trigger = true;
        //d_UniqueClass3.keys.Add("pidgeon");
        //d_UniqueClass3.keys.Add("address");
        //d_UniqueClass3.uniqueQuestion.Add("Tienes palomas mensajeras?");
        //d_UniqueClass3.uniqueQuestion.Add("Como contacto con esta direccion?");
        //d_UniqueClass3.uniqueAnswers.Add("No, pero seguro que el granjero tiene");
        //d_UniqueClass3.uniqueAnswers.Add("Con una paloma mensajera");

        //d_Conversation.greetingClass = d_GreetingClass;
        //d_Conversation.rumourClass = d_RumourClass;
        //d_Conversation.uniqueClass.Add(d_UniqueClass);
        //d_Conversation.uniqueClass.Add(d_UniqueClass2);
        //d_Conversation.uniqueClass.Add(d_UniqueClass3);

        //d_Conversation.returnLine = "Adios";
        //d_Conversation.needInformation = "Recabar información";
        //d_Conversation.playMeoan = "Juguemos al Meoan";
        //d_Conversation.shop = "¿Qué tienes a la venta?";
        //d_Conversation.wantToAsk = "Quiero preguntarte una cosa...";

        //foreach (Dialogue_UniqueQuestionClass DC in d_Conversation.uniqueClass)
        //{
        //    print("Speaker ->" + DC.speakers);
        //}

        //SaveXML<Dialogue_ConversationClass>(Application.dataPath + "/Dialogue/", "NewDialogueTest3.xml", d_Conversation);
        //print("xml salvado, ruta: " + Application.dataPath);
    }
Exemplo n.º 4
0
 public void SearchSpecificAnswers(Dialogue_ConversationClass dialogueClass_Class, int i_Listener, int i_Speaker, DictionaryEvent dictionaryE)
 {
     Debug.Log("Cantidad de clues encontradas " + foundedClues.Count);
     for (int i = 0; i < dialogueClass_Class.uniqueClass.Count; i++)
     {
         //BOOLEANO QUE COMPRUEBA SI CIERTO EVENTO HA SIDO DISPARADO O NO
         bool triggerEvent = false;
         //RECORREMOS LOS DIALOGOS DENTRO DEL XML SEGUN EL PERSONAJE QUE HABLE CON OTRO
         for (int j = 0; j < dialogueClass_Class.uniqueClass[i].uniqueQuestion.Count; j++)
         {
             //COMPROBAMOS QUE PERSONAJE HABLA CON CUAL
             if (dialogueClass_Class.uniqueClass[i].speakers == i_Speaker && (dialogueClass_Class.uniqueClass[i].listener == i_Listener || dialogueClass_Class.uniqueClass[i].listener == -1) || (dialogueClass_Class.uniqueClass[i].speakers == -1 && dialogueClass_Class.uniqueClass[i].listener == -1))
             {
                 //SI HAY KEYS DE LOS EVENTOS EN ESTE DIALOGO
                 if (dialogueClass_Class.uniqueClass[i].keys.Count > 0)
                 {
                     //SI LA KEY DEL XML NO ESTA VACIA
                     if (!dialogueClass_Class.uniqueClass[i].keys[j].Equals(""))
                     {
                         //SI LA KEY DEL EVENTO ENCONTRADA SE ENCUENTRA ENTRE NUESTROS EVENTOS
                         if (dictionaryE.Events.ContainsKey(dialogueClass_Class.uniqueClass[i].keys[j]))
                         {
                             //COMPROBAMOS VALOR TRUE O FALSE SI NUESTRO EVENTO ESTA ACTIVADO O NO
                             if (dictionaryE.Events.TryGetValue(dialogueClass_Class.uniqueClass[i].keys[j], out triggerEvent))
                             {
                                 //LE DAMOS DICHO VALOR A NUESTRO BOOLEANO
                                 dictionaryE.Events[dialogueClass_Class.uniqueClass[i].keys[j]] = triggerEvent;
                             }
                         }
                     }
                     else
                     {
                         triggerEvent = true;
                     }
                 }
                 else
                 {
                     triggerEvent = true;
                 }
             }
             if (dialogueClass_Class.uniqueClass[i].exception != -1)
             {
                 if (dialogueClass_Class.uniqueClass[i].exception != i_Listener)
                 {
                     AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, dialogueClass_Class.uniqueClass[i].uniqueAnswers[j], triggerEvent);
                 }
                 else
                 {
                     if (dialogueClass_Class.uniqueClass[i].exceptionAtLine != j)
                     {
                         AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, dialogueClass_Class.uniqueClass[i].uniqueAnswers[j], triggerEvent);
                     }
                 }
             }
             else
             {
                 AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, dialogueClass_Class.uniqueClass[i].uniqueAnswers[j], triggerEvent);
             }
         }
     }
 }
Exemplo n.º 5
0
    public void FillUniqueQuestions(Dialogue_ConversationClass dialogueClass_Class, int i_Listener, int i_Speaker, DictionaryEvent dictionaryE)
    {
        //RECORREMOS TODA LA CLASE QUE HA LEIDO EL XML
        for (int i = 0; i < dialogueClass_Class.uniqueClass.Count; i++)
        {
            //BOOLEANO QUE COMPRUEBA SI CIERTO EVENTO HA SIDO DISPARADO O NO
            bool triggerEvent = false;
            //RECORREMOS LOS DIALOGOS DENTRO DEL XML SEGUN EL PERSONAJE QUE HABLE CON OTRO
            for (int j = 0; j < dialogueClass_Class.uniqueClass[i].uniqueQuestion.Count; j++)
            {
                //COMPROBAMOS QUE PERSONAJE HABLA CON CUAL
                if (dialogueClass_Class.uniqueClass[i].speakers == i_Speaker && (dialogueClass_Class.uniqueClass[i].listener == i_Listener || dialogueClass_Class.uniqueClass[i].listener == -1) || (dialogueClass_Class.uniqueClass[i].speakers == -1 && dialogueClass_Class.uniqueClass[i].listener == -1))
                {
                    //SI HAY KEYS DE LOS EVENTOS EN ESTE DIALOGO
                    if (dialogueClass_Class.uniqueClass[i].keys.Count > 0)
                    {
                        //SI LA KEY DEL XML NO ESTA VACIA
                        if (!dialogueClass_Class.uniqueClass[i].keys[j].Equals(""))
                        {
                            //SI LA KEY DEL EVENTO ENCONTRADA SE ENCUENTRA ENTRE NUESTROS EVENTOS
                            if (dictionaryE.Events.ContainsKey(dialogueClass_Class.uniqueClass[i].keys[j]))
                            {
                                //COMPROBAMOS VALOR TRUE O FALSE SI NUESTRO EVENTO ESTA ACTIVADO O NO
                                if (dictionaryE.Events.TryGetValue(dialogueClass_Class.uniqueClass[i].keys[j], out triggerEvent))
                                {
                                    Debug.Log("Key dialogo " + dialogueClass_Class.uniqueClass[i].keys[j]);
                                    //LE DAMOS DICHO VALOR A NUESTRO BOOLEANO
                                    dictionaryE.Events[dialogueClass_Class.uniqueClass[i].keys[j]] = triggerEvent;
                                    //Debug.Log("Se ha encontrado la key " + dialogueClass_Class.uniqueClass[i].keys[j] + " de indice " + j + " la cual es: " + triggerEvent);
                                }
                            }
                        }
                        else
                        {
                            triggerEvent = true;
                        }
                    }
                    else
                    {
                        triggerEvent = true;
                    }
                }

                //SI EXISTE UN PERSONAJE EXCEPCION EN NUESTRO DIALOGO
                if (dialogueClass_Class.uniqueClass[i].exception != -1)
                {
                    //SI DICHA EXCEPCION NO ES EL PERSONAJE CON QUE ESTAMOS HABLANDO
                    if (dialogueClass_Class.uniqueClass[i].exception != i_Listener)
                    {
                        //AÑADIMOS LA PREGUNTA
                        AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, dialogueClass_Class.uniqueClass[i].uniqueQuestion[j], triggerEvent);
                    }
                    else //SI EL PERSONAJE CON QUE HABLAMOS ES LA EXCEPCIÓN
                    {
                        //AÑADIMOS TODAS AQUELLAS PREGUNTAS ESCEPTO LA DE INDICE EXCEPTIONATLINE
                        if (dialogueClass_Class.uniqueClass[i].exceptionAtLine != j)
                        {
                            AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, dialogueClass_Class.uniqueClass[i].uniqueQuestion[j], triggerEvent);
                        }
                    }
                }
                else //SI NO EXISTE UN PERSONAJE EXCEPCION EN NUESTRO DIALOGO
                {
                    if (!dictionaryE.Events["dated"])
                    {
                        if (!dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Contains("/_"))
                        {
                            string sentence = dialogueClass_Class.uniqueClass[i].uniqueQuestion[j];
                            if (dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Contains("*_"))
                            {
                                sentence = dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Substring(2);
                            }
                            AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, sentence, triggerEvent);
                        }
                    }
                    else
                    {
                        if (!dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Contains("*_"))
                        {
                            string sentence = dialogueClass_Class.uniqueClass[i].uniqueQuestion[j];
                            if (dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Contains("/_"))
                            {
                                sentence = dialogueClass_Class.uniqueClass[i].uniqueQuestion[j].Substring(2);
                            }
                            AddQuestion(dialogueClass_Class.uniqueClass[i].speakers, i_Speaker, dialogueClass_Class.uniqueClass[i].listener, i_Listener, sentence, triggerEvent);
                        }
                    }
                }
            }
        }
        //AÑADIMOS "ADIOS" EN NUESTROS ARRAYS
        specificUniqueQuestions.Add(dialogueClass_Class.returnLine);
        generalUniqueQuestions.Add(dialogueClass_Class.returnLine);
    }