public void SpawnDefender(Vector3 position)
    {
        if (defenderPrefab == null)
        {
            return;
        }
        var  cost        = GetCostForDefender();
        bool isSpaceFree = grid[(int)position.x, (int)position.y] == null;

        if (starDisplay.CanPurchase(cost) && isSpaceFree)
        {
            starDisplay.MakePurchase(cost);

            var defenderGameObject = Instantiate(defenderPrefab, position, transform.rotation, defenderParent.transform);
            var defender           = defenderGameObject.GetComponent <Defender>();
            defender.Line = Mathf.RoundToInt(position.y) + 1;

            grid[(int)position.x, (int)position.y] = defenderGameObject;
        }
    }