Search in sources :

Example 1 with Infantry

use of megamek.common.Infantry in project megameklab by MegaMek.

the class MenuBarCreator method jMenuResetEntity_actionPerformed.

public void jMenuResetEntity_actionPerformed(ActionEvent event) {
    CConfig.updateSaveFiles("Reset Unit");
    CConfig.setParam(CConfig.CONFIG_SAVE_FILE_1, "");
    Entity en = parentFrame.getEntity();
    if (en instanceof Tank) {
        parentFrame.createNewUnit(Entity.ETYPE_TANK);
    } else if (en instanceof Mech) {
        parentFrame.createNewUnit(Entity.ETYPE_BIPED_MECH, ((Mech) en).isPrimitive(), ((Mech) en).isIndustrial());
    } else if (en.hasETypeFlag(Entity.ETYPE_DROPSHIP)) {
        parentFrame.createNewUnit(Entity.ETYPE_DROPSHIP);
    } else if (en.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) {
        parentFrame.createNewUnit(Entity.ETYPE_SMALL_CRAFT, ((Aero) en).isPrimitive());
    } else if (parentFrame.getEntity() instanceof Aero) {
        parentFrame.createNewUnit(Entity.ETYPE_AERO, ((Aero) en).isPrimitive());
    } else if (parentFrame.getEntity() instanceof BattleArmor) {
        parentFrame.createNewUnit(Entity.ETYPE_BATTLEARMOR);
    } else if (parentFrame.getEntity() instanceof Infantry) {
        parentFrame.createNewUnit(Entity.ETYPE_INFANTRY);
    } else {
        System.out.println("util.MenuBarCreatoer: " + "Received unknown entityType!");
    }
    setVisible(true);
    reload();
    refresh();
    parentFrame.setVisible(true);
    parentFrame.repaint();
}
Also used : Entity(megamek.common.Entity) Infantry(megamek.common.Infantry) Mech(megamek.common.Mech) Tank(megamek.common.Tank) Aero(megamek.common.Aero) BattleArmor(megamek.common.BattleArmor)

Example 2 with Infantry

use of megamek.common.Infantry in project spoon by INRIA.

the class TestBot method calculateWeaponAttacks.

protected Vector calculateWeaponAttacks(Entity en, Mounted mw, boolean best_only) {
    int from = en.getId();
    int weaponID = en.getEquipmentNum(mw);
    Vector result = new Vector();
    Enumeration ents = game.getValidTargets(en).elements();
    AttackOption a = null;
    AttackOption max = new AttackOption(null, null, 0, null);
    while (ents.hasMoreElements()) {
        Entity e = (Entity) ents.nextElement();
        CEntity enemy = centities.get(e);
        ToHitData th = WeaponAttackAction.toHit(game, from, e, weaponID);
        if (th.getValue() != ToHitData.IMPOSSIBLE && !(th.getValue() >= 13)) {
            double expectedDmg;
            // Are we an Infantry platoon?
            if (en instanceof Infantry) {
                // Get the expected damage, given our current
                // manpower level.
                Infantry inf = (Infantry) en;
                expectedDmg = inf.getDamage(inf.getShootingStrength());
            } else {
                // Get the expected damage of the weapon.
                expectedDmg = CEntity.getExpectedDamage((WeaponType) mw.getType());
            }
            // Infantry in the open suffer double damage.
            if (e instanceof Infantry) {
                IHex e_hex = game.getBoard().getHex(e.getPosition());
                if (!e_hex.containsTerrain(Terrains.WOODS) && !e_hex.containsTerrain(Terrains.BUILDING)) {
                    expectedDmg *= 2;
                }
            }
            a = new AttackOption(enemy, mw, expectedDmg, th);
            if (a.value > max.value) {
                if (best_only) {
                    max = a;
                } else {
                    result.add(0, a);
                }
            } else {
                result.add(a);
            }
        }
    }
    if (best_only && max.target != null) {
        result.add(max);
    }
    if (result.size() > 0) {
        result.add(new AttackOption(null, mw, 0, null));
    }
    return result;
}
Also used : Entity(megamek.common.Entity) Infantry(megamek.common.Infantry) Enumeration(java.util.Enumeration) ToHitData(megamek.common.ToHitData) WeaponType(megamek.common.WeaponType) Vector(com.sun.java.util.collections.Vector)

Example 3 with Infantry

use of megamek.common.Infantry in project megameklab by MegaMek.

the class MenuBarCreator method loadUnitFromFile.

private void loadUnitFromFile(File unitFile) {
    try {
        Entity tempEntity = new MechFileParser(unitFile).getEntity();
        if (null == tempEntity) {
            return;
        }
        if (UnitUtil.validateUnit(tempEntity).trim().length() > 0) {
            JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", UnitUtil.validateUnit(tempEntity)));
        }
        if (tempEntity.getEntityType() != parentFrame.getEntity().getEntityType()) {
            MegaMekLabMainUI newUI = null;
            if (tempEntity.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) {
                newUI = new megameklab.com.ui.Dropship.MainUI(((Aero) tempEntity).isPrimitive());
            } else if ((tempEntity instanceof Aero) && !((tempEntity instanceof Jumpship) || (tempEntity instanceof FixedWingSupport))) {
                newUI = new megameklab.com.ui.Aero.MainUI(((Aero) tempEntity).isPrimitive());
            } else if (tempEntity instanceof BattleArmor) {
                newUI = new megameklab.com.ui.BattleArmor.MainUI();
            } else if (tempEntity instanceof Infantry) {
                newUI = new megameklab.com.ui.Infantry.MainUI();
            } else if (tempEntity instanceof Mech) {
                newUI = new megameklab.com.ui.Mek.MainUI();
            } else if ((tempEntity instanceof Tank) && !(tempEntity instanceof GunEmplacement)) {
                newUI = new megameklab.com.ui.Vehicle.MainUI();
            }
            if (null == newUI) {
                JOptionPane.showMessageDialog(parentFrame, "Warning: Could not create new UI, aborting unit load!");
                return;
            }
            parentFrame.dispose();
            UnitUtil.updateLoadedUnit(tempEntity);
            newUI.setEntity(tempEntity);
            newUI.reloadTabs();
            newUI.repaint();
            newUI.refreshAll();
            return;
        }
        parentFrame.setEntity(tempEntity);
        UnitUtil.updateLoadedUnit(parentFrame.getEntity());
        CConfig.updateSaveFiles(unitFile.getAbsolutePath());
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", ex.getMessage()));
    }
    reload();
    refresh();
    parentFrame.setVisible(true);
}
Also used : MegaMekLabMainUI(megameklab.com.ui.MegaMekLabMainUI) Entity(megamek.common.Entity) FixedWingSupport(megamek.common.FixedWingSupport) Tank(megamek.common.Tank) Infantry(megamek.common.Infantry) MegaMek(megamek.MegaMek) MechFileParser(megamek.common.MechFileParser) MegaMekLabMainUI(megameklab.com.ui.MegaMekLabMainUI) Mech(megamek.common.Mech) Jumpship(megamek.common.Jumpship) GunEmplacement(megamek.common.GunEmplacement) Aero(megamek.common.Aero) BattleArmor(megamek.common.BattleArmor)

Example 4 with Infantry

use of megamek.common.Infantry in project megameklab by MegaMek.

the class MenuBarCreator method loadFileMenuOptions.

private void loadFileMenuOptions() {
    file.removeAll();
    file.setMnemonic(KeyEvent.VK_F);
    JMenuItem item = new JMenuItem();
    item = new JMenuItem("Reset Current Unit");
    item.setMnemonic(KeyEvent.VK_R);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuResetEntity_actionPerformed(e);
        }
    });
    file.add(item);
    JMenu unitMenu = new JMenu("Switch Unit Type");
    unitMenu.setMnemonic(KeyEvent.VK_S);
    Entity en = parentFrame.getEntity();
    if (!(en instanceof Mech) || ((Mech) en).isPrimitive()) {
        item = new JMenuItem();
        item.setText("Mech");
        item.setMnemonic(KeyEvent.VK_M);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(e -> jMenuLoadMech());
        unitMenu.add(item);
    }
    if (!(en.isFighter() || (en.isFighter() && ((Aero) en).isPrimitive()))) {
        item = new JMenuItem();
        item.setText("Aero/Conv Fighter");
        item.setMnemonic(KeyEvent.VK_A);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadAero();
            }
        });
        unitMenu.add(item);
    }
    if (!(en instanceof SmallCraft) || ((Aero) en).isPrimitive()) {
        item = new JMenuItem();
        item.setText("Dropship/Small Craft");
        item.setMnemonic(KeyEvent.VK_D);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(e -> jMenuLoadDropship());
        unitMenu.add(item);
    }
    if (!(parentFrame.getEntity() instanceof Tank)) {
        item = new JMenuItem();
        item.setText("Combat Vehicle");
        item.setMnemonic(KeyEvent.VK_T);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadVehicle();
            }
        });
        unitMenu.add(item);
    }
    if (!(parentFrame.getEntity() instanceof BattleArmor)) {
        item = new JMenuItem();
        item.setText("BattleArmor");
        item.setMnemonic(KeyEvent.VK_B);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadBattleArmor();
            }
        });
        unitMenu.add(item);
    }
    if (!(parentFrame.getEntity() instanceof Infantry) || (parentFrame.getEntity() instanceof BattleArmor)) {
        item = new JMenuItem();
        item.setText("Infantry");
        item.setMnemonic(KeyEvent.VK_I);
        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadInfantry();
            }
        });
        unitMenu.add(item);
    }
    JMenu pMenu = new JMenu("Primitive/Retro");
    if (!(en instanceof Mech) || !((Mech) en).isPrimitive()) {
        item = new JMenuItem();
        item.setText("Mech");
        item.addActionListener(e -> jMenuLoadPrimitiveMech());
        pMenu.add(item);
    }
    if (!(en.isFighter()) || !((Aero) en).isPrimitive()) {
        item = new JMenuItem();
        item.setText("Aero");
        item.addActionListener(e -> jMenuLoadPrimitiveAero());
        pMenu.add(item);
    }
    if (!(en.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) || !((Aero) en).isPrimitive()) {
        item = new JMenuItem();
        item.setText("Dropship/Small Craft");
        item.addActionListener(e -> jMenuLoadPrimitiveDropship());
        pMenu.add(item);
    }
    unitMenu.add(pMenu);
    file.add(unitMenu);
    JMenu loadMenu = new JMenu("Load");
    loadMenu.setMnemonic(KeyEvent.VK_L);
    item = new JMenuItem();
    item.setText("From Cache");
    item.setMnemonic(KeyEvent.VK_C);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuLoadEntity_actionPerformed(e);
        }
    });
    loadMenu.add(item);
    item = new JMenuItem();
    item.setText("From File");
    item.setMnemonic(KeyEvent.VK_F);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuLoadEntityFromFile_actionPerformed(e);
        }
    });
    loadMenu.add(item);
    file.add(loadMenu);
    item = new JMenuItem(String.format("Current Unit"));
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.setMnemonic(KeyEvent.VK_C);
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuPrintCurrentUnit();
        }
    });
    file.add(UnitPrintManager.printMenu(parentFrame, item));
    item = new JMenuItem();
    item.setText("Save");
    item.setMnemonic(KeyEvent.VK_S);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuSaveEntity_actionPerformed(e);
        }
    });
    file.add(item);
    item = new JMenuItem();
    item.setText("Save As");
    item.setMnemonic(KeyEvent.VK_A);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuSaveAsEntity_actionPerformed(e);
        }
    });
    file.add(item);
    JMenu exportMenu = new JMenu("Export");
    item = new JMenuItem("to HTML");
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuExportEntityHTML_actionPerformed(e);
        }
    });
    exportMenu.add(item);
    item = new JMenuItem("to Text");
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuExportEntityText_actionPerformed(e);
        }
    });
    exportMenu.add(item);
    item = new JMenuItem("to Clipboard (text)");
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuExportEntityClipboard_actionPerformed(e);
        }
    });
    exportMenu.add(item);
    file.add(exportMenu);
    item = new JMenuItem("Configuration");
    item.setMnemonic(KeyEvent.VK_C);
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuConfiguration_actionPerformed(e);
        }
    });
    file.add(item);
    int fileNumber = 1;
    if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_1).length() > 1) {
        file.addSeparator();
        item = new JMenuItem();
        String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_1);
        if (newFile.length() > 35) {
            item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
        } else {
            item.setText(fileNumber + ". " + newFile);
        }
        item.setMnemonic(fileNumber);
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadEntityFromFile_actionPerformed(1);
            }
        });
        file.add(item);
        fileNumber++;
    }
    if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_2).length() > 1) {
        item = new JMenuItem();
        String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_2);
        if (newFile.length() > 35) {
            item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
        } else {
            item.setText(fileNumber + ". " + newFile);
        }
        item.setMnemonic(fileNumber);
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadEntityFromFile_actionPerformed(2);
            }
        });
        file.add(item);
        fileNumber++;
    }
    if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_3).length() > 1) {
        item = new JMenuItem();
        String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_3);
        if (newFile.length() > 35) {
            item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
        } else {
            item.setText(fileNumber + ". " + newFile);
        }
        item.setMnemonic(fileNumber);
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadEntityFromFile_actionPerformed(3);
            }
        });
        file.add(item);
        fileNumber++;
    }
    if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_4).length() > 1) {
        item = new JMenuItem();
        String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_4);
        if (newFile.length() > 35) {
            item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
        } else {
            item.setText(fileNumber + ". " + newFile);
        }
        item.setMnemonic(fileNumber);
        item.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                jMenuLoadEntityFromFile_actionPerformed(4);
            }
        });
        file.add(item);
        fileNumber++;
    }
    file.addSeparator();
    item = new JMenuItem();
    item.setText("Exit");
    item.setMnemonic(KeyEvent.VK_X);
    item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    item.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            jMenuExit_actionPerformed(e);
        }
    });
    file.add(item);
}
Also used : Entity(megamek.common.Entity) ActionEvent(java.awt.event.ActionEvent) Tank(megamek.common.Tank) SmallCraft(megamek.common.SmallCraft) Infantry(megamek.common.Infantry) ActionListener(java.awt.event.ActionListener) Mech(megamek.common.Mech) JMenuItem(javax.swing.JMenuItem) JMenu(javax.swing.JMenu) Aero(megamek.common.Aero) BattleArmor(megamek.common.BattleArmor)

Example 5 with Infantry

use of megamek.common.Infantry in project megameklab by MegaMek.

the class UnitPrintManager method printAllUnits.

public static boolean printAllUnits(Vector<Entity> loadedUnits, boolean singlePrint) {
    Book book = new Book();
    List<Infantry> infList = new ArrayList<>();
    List<BattleArmor> baList = new ArrayList<>();
    List<Protomech> protoList = new ArrayList<>();
    List<Entity> unprintable = new ArrayList<>();
    HashPrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
    aset.add(MediaSizeName.NA_LETTER);
    aset.add(new MediaPrintableArea(0, 0, 8.5f, 11, MediaPrintableArea.INCH));
    PrinterJob masterPrintJob = PrinterJob.getPrinterJob();
    if (!masterPrintJob.printDialog(aset)) {
        return true;
    }
    PageFormat pageFormat = new PageFormat();
    pageFormat = masterPrintJob.getPageFormat(null);
    Paper p = pageFormat.getPaper();
    p.setImageableArea(0, 0, p.getWidth(), p.getHeight());
    pageFormat.setPaper(p);
    Tank tank1 = null;
    Tank wige1 = null;
    Tank dualTurret1 = null;
    for (Entity unit : loadedUnits) {
        if (unit instanceof Mech) {
            UnitUtil.removeOneShotAmmo(unit);
            UnitUtil.expandUnitMounts((Mech) unit);
            book.append(new PrintMech((Mech) unit, book.getNumberOfPages()), pageFormat);
        } else if ((unit instanceof LargeSupportTank) || ((unit instanceof Tank) && (unit.getMovementMode() != EntityMovementMode.VTOL) && ((Tank) unit).isSuperHeavy())) {
            book.append(new PrintLargeSupportVehicle((Tank) unit), pageFormat);
        } else if (unit instanceof VTOL) {
            book.append(new PrintVTOL((VTOL) unit), pageFormat);
        } else if (unit.getMovementMode() == EntityMovementMode.WIGE) {
            if (singlePrint) {
                book.append(new PrintVehicle((Tank) unit, null), pageFormat);
            } else if (null != wige1) {
                book.append(new PrintVehicle(wige1, (Tank) unit), pageFormat);
                wige1 = null;
            } else {
                wige1 = (Tank) unit;
            }
        } else if ((unit instanceof Tank) && ((unit.getMovementMode() == EntityMovementMode.NAVAL) || (unit.getMovementMode() == EntityMovementMode.SUBMARINE) || (unit.getMovementMode() == EntityMovementMode.HYDROFOIL))) {
            unprintable.add(unit);
        // book.append(new PrintNavalVehicle((Tank) unit), pageFormat);
        } else if (unit instanceof Tank) {
            if (!((Tank) unit).hasNoDualTurret()) {
                if (singlePrint) {
                    book.append(new PrintDualTurretVehicle((Tank) unit, null), pageFormat);
                } else if (null != dualTurret1) {
                    book.append(new PrintDualTurretVehicle(dualTurret1, (Tank) unit), pageFormat);
                    dualTurret1 = null;
                } else {
                    dualTurret1 = (Tank) unit;
                }
            } else {
                if (singlePrint) {
                    book.append(new PrintVehicle((Tank) unit, null), pageFormat);
                } else if (null != tank1) {
                    book.append(new PrintVehicle(tank1, (Tank) unit), pageFormat);
                    tank1 = null;
                } else {
                    tank1 = (Tank) unit;
                }
            }
        } else if (unit.hasETypeFlag(Entity.ETYPE_AERO) && !unit.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) {
            if (unit instanceof Dropship) {
                if (unit.getMovementMode() == EntityMovementMode.AERODYNE) {
                    book.append(new PrintAerodyne((Dropship) unit), pageFormat);
                } else {
                    book.append(new PrintSpheroid((Dropship) unit), pageFormat);
                }
            } else if (unit instanceof FixedWingSupport) {
                book.append(new PrintFixedWingSupport((FixedWingSupport) unit), pageFormat);
            } else if (unit instanceof ConvFighter) {
                book.append(new PrintConventionalFighter((ConvFighter) unit), pageFormat);
            } else if (unit instanceof SmallCraft) {
                if (unit.getMovementMode() == EntityMovementMode.AERODYNE) {
                    book.append(new PrintSmallCraftAerodyne((SmallCraft) unit), pageFormat);
                } else {
                    book.append(new PrintSmallCraftSpheroid((SmallCraft) unit), pageFormat);
                }
            } else {
                book.append(new PrintAero((Aero) unit), pageFormat);
            }
        } else if (unit instanceof BattleArmor) {
            baList.add((BattleArmor) unit);
            if (singlePrint || baList.size() > 4) {
                book.append(new PrintBattleArmor(baList), pageFormat);
                baList = new ArrayList<>();
            }
        } else if (unit instanceof Infantry) {
            infList.add((Infantry) unit);
            if (singlePrint || infList.size() > 3) {
                book.append(new PrintInfantry(infList), pageFormat);
                infList = new ArrayList<>();
            }
        } else if (unit instanceof Protomech) {
            protoList.add((Protomech) unit);
            if (singlePrint || protoList.size() > 4) {
                book.append(new PrintProtomech(protoList), pageFormat);
                protoList = new ArrayList<>();
            }
        } else {
            // TODO: show a message dialog that lists the unprintable units
            unprintable.add(unit);
        }
    }
    if (unprintable.size() > 0) {
        JOptionPane.showMessageDialog(null, "Printing is not currently supported for the following units:\n" + unprintable.stream().map(en -> en.getChassis() + " " + en.getModel()).collect(Collectors.joining("\n")));
    }
    if (null != wige1) {
        book.append(new PrintVehicle(wige1, null), pageFormat);
    }
    if (null != tank1) {
        book.append(new PrintVehicle(tank1, null), pageFormat);
    }
    if (null != dualTurret1) {
        book.append(new PrintDualTurretVehicle(dualTurret1, null), pageFormat);
    }
    if (baList.size() > 0) {
        book.append(new PrintBattleArmor(baList), pageFormat);
    }
    if (infList.size() > 0) {
        book.append(new PrintInfantry(infList), pageFormat);
    }
    if (protoList.size() > 0) {
        book.append(new PrintProtomech(protoList), pageFormat);
    }
    masterPrintJob.setPageable(book);
    if (loadedUnits.size() > 1) {
        masterPrintJob.setJobName(loadedUnits.get(0).getShortNameRaw() + " etc");
    } else if (loadedUnits.size() > 0) {
        masterPrintJob.setJobName(loadedUnits.get(0).getShortNameRaw());
    }
    PrintTask task = new PrintTask(masterPrintJob, aset);
    task.execute();
    return true;
}
Also used : PrintAero(megameklab.com.ui.Aero.Printing.PrintAero) Dropship(megamek.common.Dropship) Aero(megamek.common.Aero) PrintLargeSupportVehicle(megameklab.com.ui.Vehicle.Printing.PrintLargeSupportVehicle) PrintSmallCraftSpheroid(megameklab.com.ui.Aero.Printing.PrintSmallCraftSpheroid) PrintBattleArmor(megameklab.com.ui.BattleArmor.Printing.PrintBattleArmor) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrinterJob(java.awt.print.PrinterJob) PrintTask(megameklab.com.printing.PrintTask) Vector(java.util.Vector) BattleArmor(megamek.common.BattleArmor) PrintMech(megameklab.com.printing.PrintMech) PrintInfantry(megameklab.com.ui.Infantry.Printing.PrintInfantry) UnitLoadingDialog(megamek.client.ui.swing.UnitLoadingDialog) EntityListFile(megamek.common.EntityListFile) SmallCraft(megamek.common.SmallCraft) PageFormat(java.awt.print.PageFormat) JFileChooser(javax.swing.JFileChooser) JFrame(javax.swing.JFrame) Infantry(megamek.common.Infantry) KeyStroke(javax.swing.KeyStroke) MechFileParser(megamek.common.MechFileParser) Frame(java.awt.Frame) PrintFixedWingSupport(megameklab.com.ui.Aero.Printing.PrintFixedWingSupport) Mech(megamek.common.Mech) VTOL(megamek.common.VTOL) JMenu(javax.swing.JMenu) KeyEvent(java.awt.event.KeyEvent) PrintAerodyne(megameklab.com.ui.Dropship.Printing.PrintAerodyne) Collectors(java.util.stream.Collectors) FixedWingSupport(megamek.common.FixedWingSupport) Book(java.awt.print.Book) Protomech(megamek.common.Protomech) PrintVehicle(megameklab.com.ui.Vehicle.Printing.PrintVehicle) List(java.util.List) LargeSupportTank(megamek.common.LargeSupportTank) Tank(megamek.common.Tank) Entity(megamek.common.Entity) MediaSizeName(javax.print.attribute.standard.MediaSizeName) ActionListener(java.awt.event.ActionListener) FileNameExtensionFilter(javax.swing.filechooser.FileNameExtensionFilter) PrintSpheroid(megameklab.com.ui.Dropship.Printing.PrintSpheroid) Paper(java.awt.print.Paper) PrintDualTurretVehicle(megameklab.com.ui.Vehicle.Printing.PrintDualTurretVehicle) ArrayList(java.util.ArrayList) JMenuItem(javax.swing.JMenuItem) UnitPrintQueueDialog(megameklab.com.ui.dialog.UnitPrintQueueDialog) PrintSmallCraftAerodyne(megameklab.com.ui.Aero.Printing.PrintSmallCraftAerodyne) UnitSelectorDialog(megamek.client.ui.swing.UnitSelectorDialog) PrintConventionalFighter(megameklab.com.ui.Aero.Printing.PrintConventionalFighter) ConvFighter(megamek.common.ConvFighter) PrintVTOL(megameklab.com.ui.Vehicle.Printing.PrintVTOL) EntityMovementMode(megamek.common.EntityMovementMode) JOptionPane(javax.swing.JOptionPane) ActionEvent(java.awt.event.ActionEvent) MediaPrintableArea(javax.print.attribute.standard.MediaPrintableArea) File(java.io.File) PrintProtomech(megameklab.com.ui.ProtoMek.Printing.PrintProtomech) Entity(megamek.common.Entity) PrintSmallCraftSpheroid(megameklab.com.ui.Aero.Printing.PrintSmallCraftSpheroid) PrintAero(megameklab.com.ui.Aero.Printing.PrintAero) PrintFixedWingSupport(megameklab.com.ui.Aero.Printing.PrintFixedWingSupport) PrintDualTurretVehicle(megameklab.com.ui.Vehicle.Printing.PrintDualTurretVehicle) ArrayList(java.util.ArrayList) PrinterJob(java.awt.print.PrinterJob) MediaPrintableArea(javax.print.attribute.standard.MediaPrintableArea) PageFormat(java.awt.print.PageFormat) Book(java.awt.print.Book) PrintProtomech(megameklab.com.ui.ProtoMek.Printing.PrintProtomech) PrintVehicle(megameklab.com.ui.Vehicle.Printing.PrintVehicle) PrintAerodyne(megameklab.com.ui.Dropship.Printing.PrintAerodyne) PrintBattleArmor(megameklab.com.ui.BattleArmor.Printing.PrintBattleArmor) BattleArmor(megamek.common.BattleArmor) PrintFixedWingSupport(megameklab.com.ui.Aero.Printing.PrintFixedWingSupport) FixedWingSupport(megamek.common.FixedWingSupport) PrintTask(megameklab.com.printing.PrintTask) PrintLargeSupportVehicle(megameklab.com.ui.Vehicle.Printing.PrintLargeSupportVehicle) LargeSupportTank(megamek.common.LargeSupportTank) Dropship(megamek.common.Dropship) ConvFighter(megamek.common.ConvFighter) PrintSmallCraftAerodyne(megameklab.com.ui.Aero.Printing.PrintSmallCraftAerodyne) LargeSupportTank(megamek.common.LargeSupportTank) Tank(megamek.common.Tank) SmallCraft(megamek.common.SmallCraft) PrintInfantry(megameklab.com.ui.Infantry.Printing.PrintInfantry) Infantry(megamek.common.Infantry) PrintInfantry(megameklab.com.ui.Infantry.Printing.PrintInfantry) VTOL(megamek.common.VTOL) PrintVTOL(megameklab.com.ui.Vehicle.Printing.PrintVTOL) Protomech(megamek.common.Protomech) PrintProtomech(megameklab.com.ui.ProtoMek.Printing.PrintProtomech) Paper(java.awt.print.Paper) PrintMech(megameklab.com.printing.PrintMech) Mech(megamek.common.Mech) PrintMech(megameklab.com.printing.PrintMech) PrintSpheroid(megameklab.com.ui.Dropship.Printing.PrintSpheroid) PrintBattleArmor(megameklab.com.ui.BattleArmor.Printing.PrintBattleArmor) PrintConventionalFighter(megameklab.com.ui.Aero.Printing.PrintConventionalFighter) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrintVTOL(megameklab.com.ui.Vehicle.Printing.PrintVTOL)

Aggregations

Infantry (megamek.common.Infantry)8 Aero (megamek.common.Aero)5 Entity (megamek.common.Entity)5 Mech (megamek.common.Mech)5 Tank (megamek.common.Tank)5 BattleArmor (megamek.common.BattleArmor)4 ActionEvent (java.awt.event.ActionEvent)2 ActionListener (java.awt.event.ActionListener)2 File (java.io.File)2 Vector (java.util.Vector)2 JMenu (javax.swing.JMenu)2 JMenuItem (javax.swing.JMenuItem)2 FixedWingSupport (megamek.common.FixedWingSupport)2 MechFileParser (megamek.common.MechFileParser)2 SmallCraft (megamek.common.SmallCraft)2 TestInfantry (megamek.common.verifier.TestInfantry)2 Vector (com.sun.java.util.collections.Vector)1 Frame (java.awt.Frame)1 KeyEvent (java.awt.event.KeyEvent)1 Book (java.awt.print.Book)1