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; } }
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); }