Exemple #1
0
 void AddZombieComp()
 {
     if (!this.GetComponent <ZombieBoid>())
     {
         ZombieBoid zombieScript = this.gameObject.AddComponent <ZombieBoid>();
         zombieScript.enabled = true;
         //this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>().material = zm;
         this.gameObject.GetComponentInChildren <SkinnedMeshRenderer>().material = Resources.Load("zombie") as Material;
     }
 }
Exemple #2
0
    private List <ZombieBoid> GetNeighbors(ZombieBoid zomboid)
    {
        float   closestDistance = float.MaxValue;
        Vector3 delta;
        float   dist;

        _neighbors.Clear();
        _collisionRisks.Clear();

        foreach (ZombieBoid zb in zombies)
        {
            if (zb == zomboid)
            {
                continue;
            }
            delta = zb.transform.position - transform.position;
            dist  = delta.magnitude;
            if (dist < closestDistance)
            {
                closestDistance = dist;
                _closest        = zb;
            }
            if (dist < ZombieBoidsManager.S.nearDistance)
            {
                _neighbors.Add(zb);
            }
            if (dist < ZombieBoidsManager.S.collisionDistance)
            {
                _collisionRisks.Add(zb);
            }
        }
        if (_neighbors.Count == 0)
        {
            _neighbors.Add(_closest);
        }
        return(_neighbors);
    }