Olá. Segue o erro:
Assets/Scripts/Tower.cs(50,11): error CS1525: Unexpected symbol bool', expecting
class', delegate',
enum', interface',
partial', or `struct'
Abaixo o codigo completo, agradeço pela resposta:
public class Tower : MonoBehaviour {
public GameObject missilePrefab;
public float rechargeTime = 1f;
private float lastShootTime;
[SerializeField] private float towerRange;
// Use this for initialization
void Update() {
Enemy target = ChooseTarget();
if (target != null)
{
Shoot(target);
}
}
private void Shoot(Enemy enemy)
{
float currentTime = Time.time;
if (currentTime > lastShootTime + rechargeTime)
{
lastShootTime = currentTime;
GameObject ShootPoint = this.transform.Find("Towercannon/ShootPoint").gameObject;
Vector3 ShootPointPosition = ShootPoint.transform.position;
GameObject missileObject = (GameObject) Instantiate (missilePrefab, ShootPointPosition, Quaternion.identity);
Missile missile = missilePrefab.GetComponent<Missile>();
missile.SetTarget(enemy);
}
}
private Enemy ChooseTarget()
{
GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy");
foreach (GameObject enemy in enemies)
{
if (IsInRange (enemy))
{
return enemy.GetComponent<Enemy>();
}
}
return null;
}
}
private bool IsInRange (GameObject enemy)
{
Vector3 enemyPositionOnPlan = Vector3.ProjectOnPlane (enemy.transform.position, Vector3.up);
Vector3 towerPositionOnPlan = Vector3.ProjectOnPlane (this.transform.position, Vector3.up);
float distanceToEnemy = Vector3.Distance (towerPositionOnPlan, enemyPositionOnPlan);
return distanceToEnemy <= towerRange;
}
}