private void InitializeParticleObjects() { for (int i = 0; i < numParticles; i++) { float randX, randY, randZ; SwarmUtil.GetRandomXYZWithPositiveY(out randX, out randY, out randZ); Vector3 position = new Vector3(randX, randY, randZ); GameObject goInstance = (GameObject)Instantiate(particleTemplate, position, transform.rotation); Particle temp = new Particle(goInstance); temp.bestPosition = goInstance.GetComponent <Rigidbody>().position; swarmBrain.particles.Add(temp); } }
private void InitializeOptimaObjects() { for (int i = 0; i < numOptima; i++) { float randX, randY, randZ; SwarmUtil.GetRandomXYZWithPositiveY(out randX, out randY, out randZ); Vector3 position = new Vector3(randX, randY, randZ); GameObject goInstance = (GameObject)Instantiate(optimaTemplate, position, transform.rotation); Particle temp = new Particle(goInstance); GameObject pointLight = (GameObject)Instantiate(OptimaLightTemplate, position, transform.rotation); pointLight.transform.parent = temp.gameObject.transform; swarmBrain.optimaList.Add(temp); } }