Ejemplo n.º 1
0
    public void SpawnBadGuys(int number)
    {
        for (int i = 0; i < number; ++i)
        {
            GameObject badGuy = GameObject.Instantiate(m_BadGuysPrefab);
            badGuy.transform.parent = m_BadGuyParent;
            badGuy.SetActive(false);

            EvilPeople badPeopleComp = badGuy.GetComponent <EvilPeople>();
            if (badPeopleComp != null)
            {
                m_EvilPeopleList.Add(badPeopleComp);
            }
        }
    }
Ejemplo n.º 2
0
    //warn the nearest volunteer there is someone cutting down the trees
    public Volunteers WarnNearestVolunteer(EvilPeople evilPerson)
    {
        float      closestDist      = Mathf.Infinity;
        Volunteers nearestVolunteer = null;

        if (m_PlayerVolunteer != null)
        {
            if (m_PlayerVolunteer.CheckCanChase())
            {
                float newDist = Vector2.SqrMagnitude(evilPerson.transform.position - m_PlayerVolunteer.transform.position);
                nearestVolunteer = m_PlayerVolunteer;
            }
        }

        foreach (Volunteers volunteer in m_NPCObjectPooler.m_VolunteerList)
        {
            if (!volunteer.gameObject.activeSelf)
            {
                continue;
            }

            //make sure volunteer is available to start chasing
            if (!volunteer.CheckCanChase())
            {
                continue;
            }

            float newDist = Vector2.SqrMagnitude(evilPerson.transform.position - volunteer.transform.position);
            if (newDist < closestDist)
            {
                closestDist      = newDist;
                nearestVolunteer = volunteer;
            }
        }

        if (nearestVolunteer != null)
        {
            //pass the evil person to the nearest volunteer
            nearestVolunteer.ChaseEvilPerson(evilPerson);
        }

        return(nearestVolunteer);
    }
Ejemplo n.º 3
0
 public void ChaseEvilPerson(EvilPeople evilperson)
 {
     m_EvilPersonChasing = evilperson;
     ChangeState(States.CHASE);
 }