Example #1
0
    /******************************************************************************************************************Funcion "OnCollisionEnter"******************************************************************************************************************/
    /// <summary>
    /// Se verifica cuando el héroe colisiona contra un ciudadano para mostrar
    /// en la UI un mensaje que depende de una variable aleatoria.
    /// </summary>
    /// <param name="collision"></param>
    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.GetComponent <Citizen>())
        {
            citizenText     = true;
            citizenStruct_H = collision.gameObject.GetComponent <Citizen>().CitizenMessage();
            npcStruct_H     = collision.gameObject.GetComponent <Npc>().NpcMessage();

            StopCoroutine("RemoveDialogue");

            heroStruct_H.dialogue.enabled = true;
            randomDialogue = Random.Range(0, 3);

            if (randomDialogue == 0)
            {
                heroStruct_H.dialogue.text = "CITIZEN: Hello, i am " + citizenStruct_H.names + " and i am " + npcStruct_H.age + " years old";
                StartCoroutine("RemoveDialogue");
            }
            else if (randomDialogue == 1)
            {
                heroStruct_H.dialogue.text = "You can find ammunition around the map";
                StartCoroutine("RemoveDialogue");
            }
            else if (randomDialogue == 2)
            {
                heroStruct_H.dialogue.text = "You can heal yourself with a green capsule, look for it!";
                StartCoroutine("RemoveDialogue");
            }
        }
    }
Example #2
0
 /******************************************************************************************************************Funcion "OnCollisionEnter"******************************************************************************************************************/
 void OnCollisionEnter(Collision collision)                                                                                                          //Utilizo la función "OnCollisionEnter" para detectar cuando hay una colisión.
 {
     if (collision.gameObject.GetComponent <Citizen>())                                                                                              //Verifico con el condicional si el objeto que tiene este script esta chocando con algún otro que tenga el componente de "Citizen".
     {
         citizenText     = true;
         citizenStruct_H = collision.gameObject.GetComponent <Citizen>().CitizenMessage();                                                           //En resumen, "citizenStruct_H" es igual a la función "CitizenMessage()" ubicada en la clase "Citizen" y, esta función retorna la estructura local de dicha clase, por lo tanto, "CitizenStruct_H" será igual a "CitizenStruct_C".
         npcStruct_H     = collision.gameObject.GetComponent <Npc>().NpcMessage();
         StopCoroutine("RemoveDialogue");                                                                                                            //Detengo la corrutina, esto es para que siempre que colisione se asegure de, en caso de que este activada, la detenga para que no se acumule.
         heroStruct_H.dialogue.enabled = true;                                                                                                       //Activo el texto para que se pueda hacer la siguiente línea.
         heroStruct_H.dialogue.text    = "CITIZEN: Hello, i am " + citizenStruct_H.names + " and i am " + npcStruct_H.age + " years old";            //Ahora el texto de la variable "dialogue" de la estructura cambiará a lo que aparece entre comillas más "CitizenStruct_H.bodyPart", es decir, "CitizenStruct_H" se acabó de sobrescribir por "CitizenStruct_Z" y luego accedimos a la variable "randomName" de la estructura, y lo mismo con "citizenStruct.age"
         StartCoroutine("RemoveDialogue");                                                                                                           //Llamo la corrutina que desactivará el texto.
     }
 }