void Start() { changeControl = 1; for (int i = 0; i < spawnAmount / _initialSchoolSize; ++i) { var list = _spawner.Spawn(_avoidance, _initialSchoolSize, _initialSchoolRadius); foreach (GameObject boid in list) { boid.GetComponent <LookAtVelocity>().SetSpeed(_rotationSpeed); boid.GetComponent <VelocityComponent>().MinMagnitude = _minSpeed; boid.GetComponent <VelocityComponent>().MaxMagnitude = _maxSpeed; boid.GetComponent <WrapSpace>().SetBoundFromTransform(transform); var neighborComponent = boid.GetComponent <BoidNeighbor>(); neighborComponent.SetParams(_alignment, _cohesion, _seperation); _boids.Add(neighborComponent); if (_prefabs.Length > 0) { int fishType = (_maxFishTypes > 0) ? i % Mathf.Min(_prefabs.Length, _maxFishTypes) : i % _prefabs.Length; neighborComponent.fishType = fishType; neighborComponent.avoidance = _avoidance; var fishObj = Instantiate(_prefabs[fishType], boid.transform) as GameObject; fishObj.transform.localPosition = Vector3.zero; fishObj.transform.localRotation = Quaternion.Euler(_fishRotation); fishObj.transform.localScale = _fishScale * Vector3.one; } } } SetBoidParams(); }