예제 #1
0
    public virtual void SpawnNPCs()
    {
        for (int i = 0; i < numNPCs; i++)
        {
            GameObject person    = Instantiate(npcObject, new Vector3(Random.Range(worldMinX, worldMaxX), Random.Range(worldMinY, worldMaxY)), Quaternion.identity, objectContainer.transform);
            AIWalk     npcScript = person.GetComponent <AIWalk>();
            npcScript.worldObject = gameObject;

            npcList.Add(npcScript);
        }
    }
예제 #2
0
    override public void SpawnNPCs()
    {
        for (int i = 0; i < numNPCs; i++)
        {
            GameObject person = PhotonNetwork.Instantiate("NPCNetworked", new Vector3(Random.Range(worldMinX, worldMaxX), Random.Range(worldMinY, worldMaxY)), Quaternion.identity, 0);
            person.transform.parent = objectContainer.transform;
            AIWalk npcScript = person.GetComponent <AIWalk>();
            npcScript.worldObject = gameObject;

            npcList.Add(npcScript);
        }
    }
예제 #3
0
    public void ChooseNewTarget()
    {
        List <AIWalk> infected = worldSpawner.npcList.FindAll(x => x.GetInfectData() != AIWalk.InfectData.NONE);

        float testDistance = 1000;

        foreach (AIWalk npc in infected)
        {
            float d = Vector3.Distance(npc.transform.position, transform.position);
            if (d < testDistance)
            {
                targetNPC    = npc;
                testDistance = d;
            }
        }

        if (infected.Count == 0)
        {
            targetNPC = worldSpawner.npcList.ToArray()[Random.Range(0, worldSpawner.npcList.Count - 1)];
        }
    }