public void buildFactory(Map map, Cell c, Boolean aiMove) {
        if (aiMove || Teams.comparePlayers(this.getOwner(),game.getCurrentPlayer())) {
            if (game.getCurrentPlayer().canAfford(Factory.cost)) {
                if (getBuildableCells(map).contains(c)) {
                    Factory f = new Factory(c, this.getOwner(), this.game);
                    f.placeBuilding(f, c);
                    game.getCurrentPlayer().subMoney(Factory.cost);
                } else {
                    game.mapPanel.Notify("You cannot place a Factory there!");
                }
            } else {
                if (!aiMove) {
                    game.mapPanel.Notify("You cannot afford to purchace a Factory!");
                }
            }
        } else {
            game.mapPanel.Notify("You can only control your own Base!");
        }
    }