Hi guys,
I want to add a specific component of the object to an array while I am spawning that object.
So I have this code for spawning, adding the component to an array, and other stuff. So, the array is in a other script named “gameManager”, and the array’s name is “mutants”, in this update method I am spawning mutant and then adding them to the array, so my archers can select a target from the array. and I need to put Mutant behavior component to array because mutant behavior script have the health and other stuff.
Right now my archers are hitting only one enemy, then they stop. i need
` void Update()
{ if (gameManager.gameState == “RUNNING”)
{
timer += Time.deltaTime;
if (timer > delay)
{
timer = 0;
if (numMutants < numMaxMutants)
{
for (int x = 0; x <= numToSpawn; x++)
{
// instantiate a mutant prefab at some random point within 10 units in the X, and Z axis'
Vector3 spawnPoisition = gameObject.transform.position;
spawnPoisition.x += Random.Range(0.0f, 10.0f);
spawnPoisition.z += Random.Range(0.0f, 10.0f);
Instantiate(mutant, spawnPoisition, Quaternion.identity);
// increment numMutants here and on the game manager
numMutants++;
gameManager.numMutants++;
// add the mutantbehavior object (component on the mutant game object) to the arraylist of mutants on the game manager
gameManager.mutants.Insert(numMutants - 1, GameObject.FindGameObjectWithTag("Enemy").GetComponent<MutantBehavior>());
// set "Invaders on the field' bool on game manager to true;
gameManager.invadersOnField = true;
}
}
}
}
}
}
`