Hi, I’m trying to make a vault script in which it finds the nearest vaultable object, the problem is when there are no vaultable objects. I tried to check if its null but doesn’t work, here’s the code:
void FindClosestVaultable()
{
float distanceToClosestVault = Mathf.Infinity;
Vaultable closestVault = null;
if (closestVault != null)
{
Vaultable[] allVaults = GameObject.FindObjectsOfType<Vaultable>();
foreach (Vaultable currentVault in allVaults)
{
float distanceToVault = (currentVault.transform.position - this.transform.position).sqrMagnitude;
if (distanceToVault < distanceToClosestVault)
{
distanceToClosestVault = distanceToVault;
closestVault = currentVault;
}
}
rend = closestVault.GetComponent<Renderer>();
canVault = true;
}
else
{
canVault = false;
return;
}
The code seems alright to me, but when I try it, even though there is a vaultable object present, it shows canVault = false and the rest of the code doesn’t execute.