// Start is called before the first frame update
 void Start()
 {
     GameState          = State.Idle;
     grid               = GameObject.Find("Grid").GetComponent <GridComponent>();
     inventory          = Inventory.instance;
     OnNewObjectPlaced += grid.RecalculatePathAfterPlacement;
     OnObjectDestroyed += grid.RecalculatePathAfterDestroy;
     levelData          = LevelUtility.GetLevelData(level);
     LevelUtility.LoadLevel(grid, levelData);
     grid.CalculatePath();
     SpawnEnemy();
     CheckUniqueBuildingIds();
 }
 public List <FieldGridCoordinate> RecalculatePath(FieldGridCoordinate startField)
 {
     return(grid.CalculatePath(startField));
 }