Esempio n. 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");
            }
        }
    }
Esempio n. 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.
     }
 }
Esempio n. 3
0
    CitizenStruct citizenStruct_H;                                                                                                              //Creo una variable de tipo "CitizenStruct" que es la estructura del ciudadano.

    /******************************************************************************************************************Funcion "OnCollisionEnter"******************************************************************************************************************/
    void OnCollisionEnter(Collision collision)                                                                                             //Utilizo la función "OnCollisionEnter" para detectar cuando hay una colisión.
    {
        if (collision.gameObject.GetComponent <Zombie>())                                                                                  //Verifico con el condicional si el objeto que tiene este script esta chocando con algún otro que tenga el componente de "Zombie".
        {
            zombieStruct_H = collision.gameObject.GetComponent <Zombie>().ZombieMessage();                                                 //En resumen, "ZombieStruct_H" es igual a la función "ZombieMessage()" ubicada en la clase "Zombie" y, esta función retorna la estructura local de dicha clase, por lo tanto, "ZombieStruct_H" será igual a "ZombieStruct_Z".
            print("Waaaarrrr i want to eat " + zombieStruct_H.bodyPart);                                                                   //Ahora imprimo lo que aparece entre comillas más "zombieStruct_H.bodyPart", es decir, "zombieStruct_H" se acabó de sobrescribir por "zombieStruct_Z" y luego accedimos a la variable "bodyPart" de la estructura.
        }
        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".
        {
            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".
            print("Hello, i am " + citizenStruct_H.names + " and i am " + citizenStruct_H.age + " years old");                             //Ahora imprimo 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"
        }
    }