private void SwitchBrickToType(BaseBrick brick, BrickType type)
    {
        GameObject obj = levelLogic.GetBrickBasedOnType(type);

        BrickData newData = new BrickData {
            gridNodeID = brick.GetComponent <BaseBrick>().ID,
            type       = type
        };
        BaseBrick newB = obj.GetComponent <BaseBrick>();

        newB.Initialize(newData);
        newB.SwitchPositions(brick.transform.position);
        obj.transform.SetParent(brickGridParent);
        ReplaceInLevel(brick, newB);

        if (type == BrickType.PATH)
        {
            brick.SwitchToPath();
        }
    }
    private BaseBrick GenerateRandomBaseBrick(string id)
    {
        BrickType  type = levelLogic.GetRandomBrickType(bombChance);
        GameObject obj  = levelLogic.GetBrickBasedOnType(type);

        if (obj != null)
        {
            BrickData data = new BrickData {
                gridNodeID = id,
                type       = type,
            };
            BaseBrick baseBrick = obj.GetComponent <BaseBrick>();
            if (baseBrick != null)
            {
                baseBrick.Initialize(data);
                return(baseBrick);
            }
            else
            {
                Debug.LogError("Base Class not found in the brick prefab, is it being inherited from base brick?");
            }
        }
        return(null);
    }