Search in sources :

Example 1 with Dropship

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

the class ImageHelper method getRecordSheet.

public static Image getRecordSheet(Entity unit, boolean advanced) {
    Image recordSheet = null;
    String path = new File(recordSheetPath).getAbsolutePath() + File.separatorChar;
    if (unit instanceof BipedMech) {
        if (advanced) {
            recordSheet = new ImageIcon(path + "tobiped.png").getImage();
        } else {
            recordSheet = new ImageIcon(path + "twbiped.png").getImage();
        }
    } else if (unit instanceof QuadMech) {
        if (advanced) {
            recordSheet = new ImageIcon(path + "toquad.png").getImage();
        } else {
            recordSheet = new ImageIcon(path + "twquad.png").getImage();
        }
    } else if (unit instanceof VTOL) {
        recordSheet = new ImageIcon(path + "twvee-vtol.png").getImage();
    } else if ((unit instanceof LargeSupportTank) || ((unit instanceof Tank) && ((Tank) unit).isSuperHeavy())) {
        if (unit.getOInternal(LargeSupportTank.LOC_TURRET) > 0) {
            recordSheet = new ImageIcon(path + "twvee-lgsupground-turret.png").getImage();
        } else {
            recordSheet = new ImageIcon(path + "twvee-lgsupground.png").getImage();
        }
    } else if (unit instanceof Tank) {
        if ((unit.getMovementMode() == EntityMovementMode.NAVAL) || (unit.getMovementMode() == EntityMovementMode.SUBMARINE) || (unit.getMovementMode() == EntityMovementMode.HYDROFOIL)) {
            if (unit.getOInternal(((Tank) unit).getLocTurret()) > 0) {
                recordSheet = new ImageIcon(path + "twnaval-turret.png").getImage();
            } else {
                recordSheet = new ImageIcon(path + "twnaval.png").getImage();
            }
        } else if (advanced) {
            String imageName = "twvee-" + unit.getMovementModeAsString().toLowerCase().trim() + "-dualturret.png";
            recordSheet = new ImageIcon(path + imageName).getImage();
        } else {
            String imageName = "twvee-" + unit.getMovementModeAsString().toLowerCase().trim() + ".png";
            recordSheet = new ImageIcon(path + imageName).getImage();
        }
    } else if (unit instanceof Aero) {
        if (unit instanceof Dropship) {
            if (unit.getMovementMode() == EntityMovementMode.AERODYNE) {
                recordSheet = new ImageIcon(path + "twaerodyneds.png").getImage();
            } else {
                recordSheet = new ImageIcon(path + "twspheroidds.png").getImage();
            }
        } else if (unit instanceof ConvFighter) {
            recordSheet = new ImageIcon(path + "twconventionalfighter.png").getImage();
        } else if (unit instanceof SmallCraft) {
            if (unit.getMovementMode() == EntityMovementMode.AERODYNE) {
                recordSheet = new ImageIcon(path + "twaero-smallcraft.png").getImage();
            } else {
                recordSheet = new ImageIcon(path + "twspheroid-smallcraft.png").getImage();
            }
        } else {
            recordSheet = new ImageIcon(path + "twaero.png").getImage();
        }
    } else if (unit instanceof BattleArmor) {
        recordSheet = new ImageIcon(path + "twba.png").getImage();
    } else if (unit instanceof Protomech) {
        recordSheet = new ImageIcon(path + "twproto.png").getImage();
    }
    return recordSheet;
}
Also used : QuadMech(megamek.common.QuadMech) ImageIcon(javax.swing.ImageIcon) LargeSupportTank(megamek.common.LargeSupportTank) Dropship(megamek.common.Dropship) ConvFighter(megamek.common.ConvFighter) Image(java.awt.Image) LargeSupportTank(megamek.common.LargeSupportTank) Tank(megamek.common.Tank) SmallCraft(megamek.common.SmallCraft) VTOL(megamek.common.VTOL) Protomech(megamek.common.Protomech) BipedMech(megamek.common.BipedMech) File(java.io.File) Aero(megamek.common.Aero) BattleArmor(megamek.common.BattleArmor)

Example 2 with Dropship

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

the class MainUI method createNewUnit.

@Override
public void createNewUnit(long entitytype, boolean isPrimitive, boolean isIndustrial, Entity oldUnit) {
    if (entitytype == Entity.ETYPE_SMALL_CRAFT) {
        setEntity(new SmallCraft());
        getEntity().setTechLevel(TechConstants.T_IS_TW_NON_BOX);
    } else if (entitytype == Entity.ETYPE_DROPSHIP) {
        setEntity(new Dropship());
        getEntity().setTechLevel(TechConstants.T_IS_TW_NON_BOX);
    } else {
        MegaMekLab.getLogger().log(MainUI.class, "createNewUnit(long)", LogLevel.ERROR, "Received incorrect entityType!");
        return;
    }
    SmallCraft smallCraft = (SmallCraft) getEntity();
    if (isPrimitive) {
        smallCraft.setYear(2470);
        smallCraft.setOriginalBuildYear(2470);
        smallCraft.setArmorType(EquipmentType.T_ARMOR_PRIMITIVE_AERO);
    } else {
        smallCraft.setYear(3145);
        smallCraft.setArmorType(EquipmentType.T_ARMOR_AEROSPACE);
    }
    smallCraft.setWeight(200);
    // Start at 1G
    smallCraft.setOriginalWalkMP(2);
    smallCraft.setArmorTechLevel(getEntity().getTechLevel());
    smallCraft.set0SI(3);
    smallCraft.setDesignType(SmallCraft.MILITARY);
    smallCraft.setHeatType(Aero.HEAT_SINGLE);
    smallCraft.autoSetInternal();
    for (int loc = 0; loc < getEntity().locations(); loc++) {
        smallCraft.initializeArmor(smallCraft.get0SI(), loc);
    }
    if (null == oldUnit) {
        getEntity().setChassis("New");
        if (entitytype == Entity.ETYPE_SMALL_CRAFT) {
            smallCraft.setModel("Small Craft");
        } else {
            smallCraft.setModel("Dropship");
        }
        smallCraft.setSpheroid(false);
        smallCraft.setMovementMode(EntityMovementMode.AERODYNE);
    } else {
        smallCraft.setChassis(oldUnit.getChassis());
        smallCraft.setModel(oldUnit.getModel());
        smallCraft.setYear(Math.max(oldUnit.getYear(), smallCraft.getConstructionTechAdvancement().getIntroductionDate()));
        smallCraft.setSource(oldUnit.getSource());
        smallCraft.setManualBV(oldUnit.getManualBV());
        SimpleTechLevel lvl = SimpleTechLevel.max(smallCraft.getStaticTechLevel(), SimpleTechLevel.convertCompoundToSimple(oldUnit.getTechLevel()));
        smallCraft.setTechLevel(lvl.getCompoundTechLevel(oldUnit.isClan()));
        smallCraft.setMixedTech(oldUnit.isMixedTech());
        smallCraft.setSpheroid(((SmallCraft) oldUnit).isSpheroid());
        smallCraft.setMovementMode(oldUnit.getMovementMode());
    }
}
Also used : MegaMekLabMainUI(megameklab.com.ui.MegaMekLabMainUI) SimpleTechLevel(megamek.common.SimpleTechLevel) Dropship(megamek.common.Dropship) SmallCraft(megamek.common.SmallCraft)

Example 3 with Dropship

use of megamek.common.Dropship 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

Dropship (megamek.common.Dropship)3 SmallCraft (megamek.common.SmallCraft)3 File (java.io.File)2 Aero (megamek.common.Aero)2 BattleArmor (megamek.common.BattleArmor)2 ConvFighter (megamek.common.ConvFighter)2 LargeSupportTank (megamek.common.LargeSupportTank)2 Protomech (megamek.common.Protomech)2 Tank (megamek.common.Tank)2 Frame (java.awt.Frame)1 Image (java.awt.Image)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 KeyEvent (java.awt.event.KeyEvent)1 Book (java.awt.print.Book)1 PageFormat (java.awt.print.PageFormat)1 Paper (java.awt.print.Paper)1 PrinterJob (java.awt.print.PrinterJob)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1