Ejemplo n.º 1
0
    /// <summary>
    /// almacenamos en el struct del aldeano el nombre
    /// y su edad
    /// </summary>
    /// <returns></returns>
    public InfoAlde GetInfo()
    {
        InfoAlde infoAlde = new InfoAlde();

        infoAlde.edad = age;
        infoAlde.name = nombres.ToString();
        return(infoAlde);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// la distancia para el activamiento del hub
    /// </summary>
    /// <returns></returns>
    IEnumerator BuscaEntidades()
    {
        zombie   = GameObject.FindGameObjectsWithTag("Zombie");
        aldeanos = GameObject.FindGameObjectsWithTag("Villager");

        // Hub  para el aldeano
        foreach (GameObject item in aldeanos)
        {
            yield return(new WaitForEndOfFrame());

            ald.Villager componenteAldeano = item.GetComponent <ald.Villager>();
            if (componenteAldeano != null)
            {
                distancia = Mathf.Sqrt(Mathf.Pow((item.transform.position.x - transform.position.x), 2) + Mathf.Pow((item.transform.position.y - transform.position.y), 2) + Mathf.Pow((item.transform.position.z - transform.position.z), 2));
                if (distancia < 5f)
                {
                    time              = 0;
                    infoAlde          = item.GetComponent <ald.Villager>().infoAlde;
                    textoAldeano.text = "Hola, soy " + infoAlde.name + " y tengo " + infoAlde.edad.ToString() + " años";
                }
                if (time > 3)
                {
                    textoAldeano.text = " ";
                }
            }
        }

        // Hub para el zombie
        foreach (GameObject itemZ in zombie)
        {
            yield return(new WaitForEndOfFrame());

            zom.Zombie componenteZombie = itemZ.GetComponent <zom.Zombie>();
            if (componenteZombie != null)
            {
                distanciaZ = Mathf.Sqrt(Mathf.Pow((itemZ.transform.position.x - transform.position.x), 2) + Mathf.Pow((itemZ.transform.position.y - transform.position.y), 2) + Mathf.Pow((itemZ.transform.position.z - transform.position.z), 2));
                if (distanciaZ < 5f)
                {
                    time             = 0;
                    infoZombie       = itemZ.GetComponent <zom.Zombie>().infoZombie;
                    textoZombie.text = "Waaaarrrr quiero comer " + infoZombie.gusto;
                }
                if (time > 3)
                {
                    textoZombie.text = " ";
                }
            }
        }
        yield return(new WaitForSeconds(0.1f));

        StartCoroutine(BuscaEntidades());
    }
Ejemplo n.º 3
0
 /// <summary>
 /// se toman los valores almacendos en el estruc para imprimirlos cada que el heroe colisione con
 /// el respectivo GameObject
 /// </summary>
 /// <param name="collision"></param>
 public void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.GetComponent <Zom.Zombie>())
     {
         InfoZomb info = collision.gameObject.GetComponent <Zom.Zombie>().GetInfo();
         Debug.Log("Waaar quiero comer " + info.gusto);
     }
     if (collision.gameObject.GetComponent <ald.Aldeano>())
     {
         InfoAlde info = collision.gameObject.GetComponent <ald.Aldeano>().GetInfo();
         Debug.Log("soy " + info.name + " y tengo " + info.edad);
     }
 }