public void makeTower(Board board, char type, Point position) {
        int price, priority, dmg, range, rOF, multiShots;
        Dimension dimension;
        switch(type){
            case 'A':
                price = 10;
                priority = 1;
                dmg = 5;
                range = 100;
                rOF = 1;
                multiShots = 3;
                dimension = new Dimension(1,1);
                if (board.isValidPositions(position, priority, dimension) && board.getPlayer().getGold() >= price) {
                    Colour colour = Colour.ORANGE;
                    Colour colourOfShoots = Colour.BLACK;
                    createTower(board, position, colour, colourOfShoots, dmg, range, rOF,
                            multiShots, price,
                            dimension);
                    board.getPlayer().subtractGold(price);
                } else
                    System.out.println("Not enough gold or invalid position");
                return;

            case 'B':
                price = 20;
                range = 200;
                priority = 1;
                dimension = new Dimension(1,1);


                if (board.isValidPositions(position, priority, dimension) && board.getPlayer().getGold() >= price) {
                    int extraDMG = 5;
                    int extraRange = 0;

                    // TODO fixa här, Gör en gameAction som du skickar in nedan. Sedan kolla upp vad gameActionFactoryn
                    // gör egentligen och om inte EXTRA_DMG och extraRange blir dubbel info då de kmr finnas
                    // i gameAction också.
                    DmgBuffAction dmgBuffAction = new DmgBuffAction(extraDMG);
                    NonShootableTower newTower = new NonShootableTower(board, board.getAllObjects(), dmgBuffAction,
                            position.getX(), position.getY(), dimension, Colour.BLUE, Shapes.RECTANGLE , price, extraDMG,
                                                                       extraRange, range);

                    board.addObject(newTower);
                    board.getPlayer().subtractGold(price);
                } else
                    System.out.println("Not enough gold or invalid position");
                return;


            default :
                System.out.println("Tower not available");

        }
    }