Search in sources :

Example 1 with Crew

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

the class PrintAerodyne method printDropshipData.

private void printDropshipData(Graphics2D g2d) {
    String dropshipName = dropship.getChassis() + " " + dropship.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, dropshipName, true, 180, 10.0f));
    g2d.drawString(dropshipName, 49, 121);
    Font font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((dropship.getCrew() != null) && !dropship.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = dropship.getCrew();
        g2d.drawString(pilot.getName(), 270, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132);
    }
    g2d.drawString(Integer.toString(dropship.getWalkMP()), 99, 156);
    g2d.drawString(Integer.toString(dropship.getRunMPwithoutMASC()), 99, 167);
    int tonnage = (int) Math.ceil(dropship.getWeight());
    if ((tonnage % 5) != 0) {
        tonnage += 5 - (tonnage % 5);
    }
    g2d.drawString(String.format("%1$,d", tonnage), 177, 134.5f);
    int nextDataLine = 154;
    int startLine = 188;
    int lineFeed = 8;
    if (dropship.isPrimitive()) {
        ImageHelper.printCenterString(g2d, "(Primitive)", font, startLine, nextDataLine);
        nextDataLine += lineFeed;
    } else {
        switch(dropship.getTechLevel()) {
            case TechConstants.T_INTRO_BOXSET:
                ImageHelper.printCenterString(g2d, "(Intro)", font, startLine, nextDataLine);
                nextDataLine += lineFeed;
                break;
            case TechConstants.T_IS_TW_NON_BOX:
            case TechConstants.T_IS_TW_ALL:
            case TechConstants.T_CLAN_TW:
                break;
            case TechConstants.T_IS_ADVANCED:
            case TechConstants.T_CLAN_ADVANCED:
                ImageHelper.printCenterString(g2d, "(Advanced)", font, startLine, nextDataLine);
                nextDataLine += lineFeed;
                break;
            case TechConstants.T_IS_EXPERIMENTAL:
            case TechConstants.T_CLAN_EXPERIMENTAL:
                ImageHelper.printCenterString(g2d, "(Experimental)", font, startLine, nextDataLine);
                nextDataLine += lineFeed;
                break;
            case TechConstants.T_IS_UNOFFICIAL:
            case TechConstants.T_CLAN_UNOFFICIAL:
                ImageHelper.printCenterString(g2d, "(Unofficial)", font, startLine, nextDataLine);
                nextDataLine += lineFeed;
                break;
        }
    }
    String techBase = "Inner Sphere";
    if (dropship.isMixedTech()) {
        if (dropship.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (dropship.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 144.5f);
    if ((dropship.getSource() != null) && (dropship.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 138, nextDataLine);
        font = UnitUtil.getNewFont(g2d, dropship.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(dropship.getSource(), 177, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 138, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", dropship.getYear()), 177, nextDataLine);
    }
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols =
    // new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = dropship.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 470.2f);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", dropship.calculateBattleValue(true, true)), 50, 470.2f);
    }
    font = UnitUtil.deriveFont(true, 8);
    g2d.setFont(font);
    g2d.drawString("Fuel: ", 80, 470.2f);
    font = UnitUtil.deriveFont(false, 8);
    g2d.setFont(font);
    g2d.drawString(String.format("%1$,d", dropship.getFuel()), 98, 470.2f);
    // Crew data
    g2d.drawString(String.format("%1$s/%2$s", dropship.getLifeBoats(), dropship.getEscapePods()), 335, 596.6f);
    g2d.drawString(String.format("%1$s", dropship.getNCrew()), 283, 566.6f);
    g2d.drawString(String.format("%1$s", dropship.getNPassenger()), 283, 576.6f);
    g2d.drawString(String.format("%1$s", dropship.getNOtherPassenger()), 283, 586.6f);
    g2d.drawString(String.format("%1$s", dropship.getNMarines()), 357, 565.6f);
    g2d.drawString(String.format("%1$s", dropship.getNBattleArmor()), 357, 585.6f);
    // myFormatter = new DecimalFormat("#,###.##");
    // g2d.drawString(String.format("%1$,.0f C-bills",
    // dropship.getCost(true)),
    // 52, 346.2f);
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 64f, 744.5f);
}
Also used : Crew(megamek.common.Crew) Font(java.awt.Font)

Example 2 with Crew

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

the class PrintConventionalFighter method printConvFighterData.

private void printConvFighterData(Graphics2D g2d) {
    String ConvFighterName = convFighter.getChassis() + " " + convFighter.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, ConvFighterName, true, 180, 10.0f));
    g2d.drawString(ConvFighterName, 49, 119);
    Font font = UnitUtil.deriveFont(true, 15.0f);
    g2d.setFont(font);
    g2d.drawString("CONVENTIONAL FIGHTER RECORD SHEET", 60, 88);
    font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((convFighter.getCrew() != null) && !convFighter.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = convFighter.getCrew();
        g2d.drawString(pilot.getName(), 270, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132);
    }
    g2d.drawString(Integer.toString(convFighter.getWalkMP()), 99, 143);
    g2d.drawString(Integer.toString(convFighter.getRunMP()), 99, 154);
    if (convFighter.isVSTOL()) {
        g2d.drawString("VSTOL", 99, 165);
    }
    int tonnage = (int) Math.ceil(convFighter.getWeight());
    if ((tonnage % 5) != 0) {
        tonnage += 5 - (tonnage % 5);
    }
    g2d.drawString(Integer.toString(tonnage), 177, 132.5f);
    int nextDataLine = 153;
    int startLine = 188;
    int lineFeed = 8;
    switch(convFighter.getTechLevel()) {
        case TechConstants.T_INTRO_BOXSET:
            ImageHelper.printCenterString(g2d, "(Intro)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_TW_NON_BOX:
        case TechConstants.T_IS_TW_ALL:
        case TechConstants.T_CLAN_TW:
            break;
        case TechConstants.T_IS_ADVANCED:
        case TechConstants.T_CLAN_ADVANCED:
            ImageHelper.printCenterString(g2d, "(Advanced)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_EXPERIMENTAL:
        case TechConstants.T_CLAN_EXPERIMENTAL:
            ImageHelper.printCenterString(g2d, "(Experimental)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_UNOFFICIAL:
        case TechConstants.T_CLAN_UNOFFICIAL:
            ImageHelper.printCenterString(g2d, "(Unofficial)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
    }
    String techBase = "Inner Sphere";
    if (convFighter.isMixedTech()) {
        if (convFighter.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (convFighter.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 143.5f);
    if ((convFighter.getSource() != null) && (convFighter.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 138, nextDataLine);
        font = UnitUtil.getNewFont(g2d, convFighter.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(convFighter.getSource(), 177, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 138, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", convFighter.getYear()), 177, nextDataLine);
    }
    // g2d.drawString(Integer.toString(convFighter.getYear()), 188, 155);
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols =
    // new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = convFighter.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 346.2f);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", convFighter.calculateBattleValue(true, true)), 50, 346.2f);
    }
    if (UnitUtil.hasBAR(convFighter)) {
        font = UnitUtil.deriveFont(true, 9.0f);
        g2d.drawString("BAR: " + UnitUtil.getLowestBARRating(convFighter), 245, 120);
    }
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 745f);
}
Also used : Crew(megamek.common.Crew) Font(java.awt.Font)

Example 3 with Crew

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

the class PrintFixedWingSupport method printFixedWingSupportData.

private void printFixedWingSupportData(Graphics2D g2d) {
    String FixedWingSupportName = fixedWingSupport.getChassis() + " " + fixedWingSupport.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, FixedWingSupportName, true, 180, 10.0f));
    g2d.drawString(FixedWingSupportName, 49, 118);
    Font font = UnitUtil.deriveFont(true, 15.0f);
    g2d.setFont(font);
    g2d.drawString("FIXED WING SUPPORT VEHICLE RECORD SHEET", 60, 88);
    font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((fixedWingSupport.getCrew() != null) && !fixedWingSupport.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = fixedWingSupport.getCrew();
        g2d.drawString(pilot.getName(), 270, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132);
    }
    g2d.drawString(Integer.toString(fixedWingSupport.getWalkMP()), 99, 143);
    g2d.drawString(Integer.toString(fixedWingSupport.getRunMP()), 99, 154);
    if (fixedWingSupport.isVSTOL()) {
        g2d.drawString("VSTOL", 99, 165);
    } else if (fixedWingSupport.isSTOL()) {
        g2d.drawString("STOL", 99, 165);
    }
    int tonnage = (int) Math.ceil(fixedWingSupport.getWeight());
    if ((tonnage % 5) != 0) {
        tonnage += 5 - (tonnage % 5);
    }
    g2d.drawString(Integer.toString(tonnage), 177, 132.5f);
    int nextDataLine = 153;
    int startLine = 188;
    int lineFeed = 8;
    switch(fixedWingSupport.getTechLevel()) {
        case TechConstants.T_INTRO_BOXSET:
            ImageHelper.printCenterString(g2d, "(Intro)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_TW_NON_BOX:
        case TechConstants.T_IS_TW_ALL:
        case TechConstants.T_CLAN_TW:
            break;
        case TechConstants.T_IS_ADVANCED:
        case TechConstants.T_CLAN_ADVANCED:
            ImageHelper.printCenterString(g2d, "(Advanced)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_EXPERIMENTAL:
        case TechConstants.T_CLAN_EXPERIMENTAL:
            ImageHelper.printCenterString(g2d, "(Experimental)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_UNOFFICIAL:
        case TechConstants.T_CLAN_UNOFFICIAL:
            ImageHelper.printCenterString(g2d, "(Unofficial)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
    }
    String techBase = "Inner Sphere";
    if (fixedWingSupport.isMixedTech()) {
        if (fixedWingSupport.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (fixedWingSupport.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 143.5f);
    if ((fixedWingSupport.getSource() != null) && (fixedWingSupport.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 138, nextDataLine);
        font = UnitUtil.getNewFont(g2d, fixedWingSupport.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(fixedWingSupport.getSource(), 177, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 138, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", fixedWingSupport.getYear()), 177, nextDataLine);
    }
    // g2d.drawString(Integer.toString(fixedWingSupport.getYear()), 188,
    // 155);
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols =
    // new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = fixedWingSupport.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 346.2f);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", fixedWingSupport.calculateBattleValue(true, true)), 50, 346.2f);
    }
    if (UnitUtil.hasBAR(fixedWingSupport) && !fixedWingSupport.hasPatchworkArmor()) {
        font = UnitUtil.deriveFont(true, 9.0f);
        g2d.drawString("BAR: " + UnitUtil.getLowestBARRating(fixedWingSupport), 245, 120);
    }
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 745f);
}
Also used : Crew(megamek.common.Crew) Font(java.awt.Font)

Example 4 with Crew

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

the class PrintSmallCraftAerodyne method printSmallCraftAerodyneData.

private void printSmallCraftAerodyneData(Graphics2D g2d) {
    String smallCraftName = smallCraft.getChassis() + " " + smallCraft.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, smallCraftName, true, 180, 10.0f));
    g2d.drawString(smallCraftName, 49, 118);
    Font font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((smallCraft.getCrew() != null) && !smallCraft.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = smallCraft.getCrew();
        g2d.drawString(pilot.getName(), 270, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132);
    }
    g2d.drawString(Integer.toString(smallCraft.getWalkMP()), 99, 143);
    g2d.drawString(Integer.toString(smallCraft.getRunMP()), 99, 154);
    int tonnage = (int) Math.ceil(smallCraft.getWeight());
    if ((tonnage % 5) != 0) {
        tonnage += 5 - (tonnage % 5);
    }
    g2d.drawString(Integer.toString(tonnage), 177, 132.5f);
    int nextDataLine = 153;
    int startLine = 188;
    int lineFeed = 8;
    switch(smallCraft.getTechLevel()) {
        case TechConstants.T_INTRO_BOXSET:
            ImageHelper.printCenterString(g2d, "(Intro)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_TW_NON_BOX:
        case TechConstants.T_IS_TW_ALL:
        case TechConstants.T_CLAN_TW:
            break;
        case TechConstants.T_IS_ADVANCED:
        case TechConstants.T_CLAN_ADVANCED:
            ImageHelper.printCenterString(g2d, "(Advanced)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_EXPERIMENTAL:
        case TechConstants.T_CLAN_EXPERIMENTAL:
            ImageHelper.printCenterString(g2d, "(Experimental)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_UNOFFICIAL:
        case TechConstants.T_CLAN_UNOFFICIAL:
            ImageHelper.printCenterString(g2d, "(Unofficial)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
    }
    String techBase = "Inner Sphere";
    if (smallCraft.isMixedTech()) {
        if (smallCraft.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (smallCraft.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 143.5f);
    if ((smallCraft.getSource() != null) && (smallCraft.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 138, nextDataLine);
        font = UnitUtil.getNewFont(g2d, smallCraft.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(smallCraft.getSource(), 177, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 138, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", smallCraft.getYear()), 177, nextDataLine);
    }
    // g2d.drawString(Integer.toString(smallCraft.getYear()), 188, 155);
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols =
    // new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = smallCraft.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 346.2f);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", smallCraft.calculateBattleValue(true, true)), 50, 346.2f);
    }
    // myFormatter = new DecimalFormat("#,###.##");
    // g2d.drawString(String.format("%1$,.0f C-bills",
    // smallCraft.getCost(true)),
    // 52, 346.2f);
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 63f, 744.5f);
}
Also used : Crew(megamek.common.Crew) Font(java.awt.Font)

Example 5 with Crew

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

the class PrintDualTurretVehicle method printTankData.

private void printTankData(Graphics2D g2d) {
    String tankName = tank.getChassis() + " " + tank.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, tankName, true, 180, 10.0f));
    g2d.drawString(tankName, 49, 120);
    Font font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((tank.getCrew() != null) && !tank.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = tank.getCrew();
        g2d.drawString(pilot.getName(), 270, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132);
    }
    g2d.drawString(Integer.toString(tank.getWalkMP()), 79, 144);
    if (!tank.hasWorkingMisc(MiscType.F_MASC, MiscType.S_SUPERCHARGER)) {
        g2d.drawString(Integer.toString(tank.getRunMP()), 79, 155);
    } else {
        int mascMP = tank.getRunMP();
        g2d.drawString(Integer.toString(tank.getRunMPwithoutMASC()) + " [" + mascMP + "]", 79, 155);
    }
    g2d.drawString(tank.getMovementModeAsString(), 88, 166);
    String engineName = "Fusion Engine";
    switch(tank.getEngine().getEngineType()) {
        case Engine.COMBUSTION_ENGINE:
            engineName = "I.C.E.";
            break;
        case Engine.LIGHT_ENGINE:
            engineName = "Light Fusion Engine";
            break;
        case Engine.XL_ENGINE:
            engineName = "XL Fusion Engine";
            break;
        case Engine.XXL_ENGINE:
            engineName = "XXL Fusion Engine";
            break;
        case Engine.COMPACT_ENGINE:
            engineName = "Compact Fusion Engine";
            break;
        case Engine.FUEL_CELL:
            engineName = "Fuel Cell Engine";
            break;
        default:
            break;
    }
    g2d.drawString(engineName, 79, 177);
    if (tank.getWeight() >= 5) {
        int tonnage = (int) Math.ceil(tank.getWeight());
        g2d.drawString(Integer.toString(tonnage), 177, 134);
    } else {
        // DecimalFormatSymbols unusualSymbols =
        // new DecimalFormatSymbols();
        // unusualSymbols.setDecimalSeparator('.');
        // unusualSymbols.setGroupingSeparator(',');
        // DecimalFormat myFormatter = new DecimalFormat("#.###",
        // unusualSymbols);
        g2d.drawString(String.format("%1$,.1f", tank.getWeight()), 177, 134);
    }
    int nextDataLine = 153;
    int startLine = 188;
    int lineFeed = 8;
    switch(tank.getTechLevel()) {
        case TechConstants.T_INTRO_BOXSET:
            ImageHelper.printCenterString(g2d, "(Intro)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_TW_NON_BOX:
        case TechConstants.T_IS_TW_ALL:
        case TechConstants.T_CLAN_TW:
            break;
        case TechConstants.T_IS_ADVANCED:
        case TechConstants.T_CLAN_ADVANCED:
            ImageHelper.printCenterString(g2d, "(Advanced)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_EXPERIMENTAL:
        case TechConstants.T_CLAN_EXPERIMENTAL:
            ImageHelper.printCenterString(g2d, "(Experimental)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
        case TechConstants.T_IS_UNOFFICIAL:
        case TechConstants.T_CLAN_UNOFFICIAL:
            ImageHelper.printCenterString(g2d, "(Unofficial)", font, startLine, nextDataLine);
            nextDataLine += lineFeed;
            break;
    }
    String techBase = "Inner Sphere";
    if (tank.isMixedTech()) {
        if (tank.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (tank.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 145);
    if ((tank.getSource() != null) && (tank.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 138, nextDataLine);
        font = UnitUtil.getNewFont(g2d, tank.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(tank.getSource(), 177, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 138, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", tank.getYear()), 177, nextDataLine);
    }
    // g2d.drawString(Integer.toString(tank.getYear()), 188, 155);
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = tank.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 357);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", tank.calculateBattleValue(true, true)), 50, 357);
    }
    if (UnitUtil.hasBAR(tank)) {
        font = UnitUtil.deriveFont(true, 9.0f);
        g2d.drawString("BAR: " + UnitUtil.getLowestBARRating(tank), 400, 64);
    }
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 374f);
    if (tank2 != null) {
        printTank2Data(g2d);
    } else {
        g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 374f + secondPageMargin);
    }
}
Also used : Crew(megamek.common.Crew) Font(java.awt.Font)

Aggregations

Font (java.awt.Font)13 Crew (megamek.common.Crew)13 LargeSupportTank (megamek.common.LargeSupportTank)1 SupportTank (megamek.common.SupportTank)1 SupportVTOL (megamek.common.SupportVTOL)1