I am trying to make a tower defense game (just to learn unity) but whenever i try to build my Missile Launcher it gives me this error which leads to my build manager on this specific line:
GameObject turret = (GameObject)Instantiate(turretToBuild.prefab, node.GetBuildPosition(), Quaternion.identity);
node.turret = turret;
Here is the rest of the code;
using UnityEngine;
public class BuildManager : MonoBehaviour
{
public static BuildManager instance;
void Awake ()
{
if (instance !=null)
{
Debug.LogError("More than one BuildManager in scene!");
return;
}
instance = this;
}
public GameObject standartTurretPrefab;
public GameObject missileLauncherPrefab;
public GameObject buildEffect;
private TurretBlueprint turretToBuild;
public bool CanBuild { get { return turretToBuild != null; } }
public bool HasMoney { get { return PlayerStats.Money >= turretToBuild.cost; } }
public void BuildTurretOn (Node node)
{
if (PlayerStats.Money < turretToBuild.cost)
{
Debug.Log("Not Enough Money!");
return;
}
PlayerStats.Money -= turretToBuild.cost;
GameObject turret = (GameObject)Instantiate(turretToBuild.prefab, node.GetBuildPosition(), Quaternion.identity);
node.turret = turret;
GameObject effect = (GameObject)Instantiate(buildEffect, node.GetBuildPosition(), Quaternion.identity);
Destroy(effect, 5f);
Debug.Log("Turret build! Money left: " + PlayerStats.Money);
}
public void SelectTurretToBuild (TurretBlueprint turret)
{
turretToBuild = turret;
}
}
Any help is appreciated.