// Start is called before the first frame update void Start() { InitLight(); squareMaxSpeed = maxSpeed * maxSpeed; squareNeighborRadius = neighborRadius * neighborRadius; squareAvoidanceRadius = squareNeighborRadius * avoidanceRadiusMultiplier * avoidanceRadiusMultiplier; for (int i = 0; i < startingCount; i++) { Vector3 newPosition = new Vector3(Random.Range(spawnPoint.transform.position.x - startingCount, spawnPoint.transform.position.x + startingCount), 1f, Random.Range(spawnPoint.transform.position.z - startingCount, spawnPoint.transform.position.z + startingCount)); //newPosition.z = Random.Range(-10,10); FlockAgent newAgent = Instantiate( agentPrefab, newPosition, Quaternion.Euler(Vector3.forward), transform ); newAgent.name = "Agent " + i; if (i == 0) { newAgent.GetComponent <PoliceAbilities>().EnableFiringSquad(); } if (SpotLightOnAgentO && i == 0) { newAgent.GetComponent <PoliceAbilities>().equipLamp(); } newAgent.Initialize(this); agents.Add(newAgent); } }
public GameObject CreateNewWorker(int life, float miningSpeed) { currI = soldiersCount; soldiersCount++; FlockAgent newWorker = InstantiateSoldier(); newWorker.GetComponent <Worker>().health = life; newWorker.GetComponent <Worker>().miningSpeed = miningSpeed; return(newWorker.gameObject); }
public GameObject CreateNewSoldier(float speed, float life, float hitPower) { currI = soldiersCount; soldiersCount++; FlockAgent newSoldier = InstantiateSoldier(); newSoldier.GetComponent <Soldier>().SetHealth(life); newSoldier.GetComponent <Soldier>().SetSpeed(speed); newSoldier.GetComponent <Attack>().SetHitPower(hitPower); return(newSoldier.gameObject); }
public override void Init() { Flock flock = GetComponent<Flock>(); FlockAgent newAgent = Instantiate( flock.agentPrefab, Random.insideUnitCircle * flock.startingCount * Flock.AGENT_DENSITY, Quaternion.Euler(Vector3.forward * Random.Range(0f, 360f)), transform); newAgent.gameObject.AddComponent<PlayerControlledFlockAgent>(); m_player = newAgent.GetComponent<PlayerControlledFlockAgent>(); m_player.name = "Player"; Destroy(newAgent.GetComponent<FlockAgent>()); m_player.Init(this); }
// Use this for initialization void Start() { squareMaxSpeed = maxSpeed * maxSpeed; squareNeighborRadius = neighborRadius * neighborRadius; squareAvoidanceRadius = squareNeighborRadius * avoidanceRadiusMultiplier * avoidanceRadiusMultiplier; volumeScalar = 1 / startingCount; // Populate the scene with flock agents for (int i = 0; i < startingCount; i++) { FlockAgent newAgent = Instantiate( agentPrefab, Random.insideUnitCircle * 3, Quaternion.Euler(Vector3.forward * Random.Range(0f, 360f)), transform ); newAgent.name = "Agent " + i; //Debug.Log(volumeScalar); newAgent.noteMode = noteMode; newAgent.GetComponent <AudioSource>().volume = 1.0f / startingCount; agents.Add(newAgent); } // foreach (FlockAgent agent in agents) // { // Debug.Log(1/startingCount); // agent.audioSource.volume = 1/startingCount; // } }