Trying to see if all enemies in array transform.position.x is treeLeft.x. Just one big check instead of doing each individually. but I get the (CS0136 error: “error CS0136: A local or parameter named ‘enemy’ cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter”) every time I use the .All method. Any Help would be appreciated Thanks, Here’s A Part Of The Code. I want the enemy to move something like this but, my last code was to CPU dependent I can show you if you’d like to see. .
private void CheckIfOtherEnemiesCanGoTreeLeft()
{
if (transform.position.x == treeLeftSide.x)
{
foreach (AIMovementMelee enemy in enemiesOnLevel)
{
if (enemy.transform.position.x != treeLeftSide.x)
{
enemy.SetCanGoTreeLeft(false);
//Go To Right Side If It's Avail else Don't Go To Right
var allEnemiesNotAtRight = enemiesOnLevel.All(enemy => enemy.transform.position.x != treeRightSide.x);
if (allEnemiesNotAtRight)
{
enemy.SetCanGoTreeRight(true);
}
else
{
enemy.SetCanGoTreeRight(false);
}
}
}
}
else
{
//Set All Enemies canGoTreeLeft true If No Enemy At Left Side
var noEnemyAtLeft = enemiesOnLevel.All(enemy => enemy.transform.position.x != treeLeftSide.x);
if (noEnemyAtLeft)
{
foreach (AIMovementMelee enemy in enemiesOnLevel)
{
enemy.SetCanGoTreeLeft(true);
}
}
}
}