I’m trying to have my enemies’ ai target my player until the point where an enemy hits him and he dies. After that, I want the enemies to disperse and then target and move to a random spawn point (simply because they are all around the edge of the screen).
Here’s what I have in the update method of the AIDestinationSetter script:
void Update () {
if (GameObject.FindWithTag("Player").GetComponent<PlayerMovement>().canMove)
{
target = GameObject.FindWithTag("Player").transform;
}
else
{
//randomise movement of all enemies - to spawnpoints at this stage
Transform[] spawnPoints = GameObject.FindGameObjectWithTag("WaveSpawner").GetComponent<WaveSpawner>().spawnPoints; //find spawnpoints
//create array of enemies
GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
foreach (GameObject enemy in enemies) //for each enemy in the array
{
enemy.GetComponent<AIDestinationSetter>().target = spawnPoints[Random.Range(0, spawnPoints.Length)];//set aipath destination to a random spawnpoint
Debug.Log(enemy.GetComponent<AIDestinationSetter>().target);
}
}
if (target != null && ai != null) ai.destination = target.position;
}
(canMove is simply a boolean that is set to true at the start of the game and false when an enemy hits the player. It lives within a script called PlayerMovement that is a component of my GambeObject player.)
(spawnPoints is an array of spawn points that lives inside a script called Wavespawner that is a component of my GameObject Wavespawner… Not the best naming convention I know…)
The problem lies somewhere with me trying to reference the PlayerMovement and Wavespawner scripts in my GetComponent methods.Unity is throwing the errors:
error CS0246: The type or namespace name ‘PlayerMovement’ could not be found (are you missing a using directive or an assembly reference?)
error CS0246: The type or namespace name ‘WaveSpawner’ could not be found (are you missing a using directive or an assembly reference?)
Any help with this matter would be really appreciated. I’ve tried to figure this out for hours now and everything I try just breaks it even more.