Search in sources :

Example 11 with Crew

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

the class PrintVTOL method printVTOLData.

private void printVTOLData(Graphics2D g2d) {
    String VTOLName = vtol.getChassis() + " " + vtol.getModel();
    g2d.setFont(UnitUtil.getNewFont(g2d, VTOLName, true, 180, 10.0f));
    g2d.drawString(VTOLName, 55, 119);
    Font font = UnitUtil.deriveFont(true, 13.5f);
    g2d.setFont(font);
    if (vtol instanceof SupportVTOL) {
        g2d.drawString("SUPPORT", 73, 86.5f);
    }
    font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((vtol.getCrew() != null) && !vtol.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = vtol.getCrew();
        g2d.drawString(pilot.getName(), 276, 120);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 301, 131);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 371, 132);
    }
    g2d.drawString(Integer.toString(vtol.getWalkMP()), 85, 144);
    if (!vtol.hasWorkingMisc(MiscType.F_MASC, MiscType.S_JETBOOSTER)) {
        g2d.drawString(Integer.toString(vtol.getRunMP()), 85, 154);
    } else {
        int mascMP = vtol.getRunMP();
        g2d.drawString(Integer.toString(vtol.getRunMPwithoutMASC()) + " [" + mascMP + "]", 85, 154);
    }
    String engineName = "Fusion Engine";
    switch(vtol.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";
            break;
        default:
            break;
    }
    g2d.drawString(engineName, 85, 165);
    if (vtol.getWeight() >= 5) {
        int tonnage = (int) Math.ceil(vtol.getWeight());
        g2d.drawString(Integer.toString(tonnage), 183, 133);
    } else {
        g2d.drawString(String.format("%1$,d", vtol.getWeight()), 183, 133);
    }
    int nextDataLine = 153;
    float startLine = 200;
    int lineFeed = 8;
    String techBase = "Inner Sphere";
    if (vtol.isMixedTech()) {
        if (vtol.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (vtol.isClan()) {
        techBase = "Clan";
    }
    font = UnitUtil.getNewFont(g2d, techBase, false, 52, 8);
    g2d.setFont(font);
    g2d.drawString(techBase, 183, 144.5f);
    switch(vtol.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;
    }
    font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((vtol.getSource() != null) && (vtol.getSource().trim().length() > 0)) {
        String sourceFluff = "Era: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(sourceFluff, 150, nextDataLine);
        font = UnitUtil.getNewFont(g2d, vtol.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(vtol.getSource(), 183, nextDataLine);
    } else {
        String yearFluff = "Year: ";
        font = UnitUtil.deriveFont(true, 8.0f);
        g2d.setFont(font);
        g2d.drawString(yearFluff, 150, nextDataLine);
        font = UnitUtil.deriveFont(8.0f);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$s", vtol.getYear()), 183, nextDataLine);
    }
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = vtol.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 365);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", vtol.calculateBattleValue(true, true)), 50, 365);
    }
    if (UnitUtil.hasBAR(vtol)) {
        font = UnitUtil.deriveFont(true, 9.0f);
        g2d.drawString("BAR: " + UnitUtil.getLowestBARRating(vtol), 400, 55);
    }
    font = UnitUtil.deriveFont(true, 6.5f);
    g2d.setFont(font);
    g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 39.5f, 763.3f);
}
Also used : Crew(megamek.common.Crew) SupportVTOL(megamek.common.SupportVTOL) Font(java.awt.Font)

Example 12 with Crew

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

the class PrintWiGE 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)

Example 13 with Crew

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

the class PrintWiGE method printTank2Data.

private void printTank2Data(Graphics2D g2d) {
    String tankName = tank2.getChassis().toUpperCase() + " " + tank2.getModel().toUpperCase();
    g2d.setFont(UnitUtil.getNewFont(g2d, tankName, true, 180, 10.0f));
    g2d.drawString(tankName, 49, 493);
    Font font = UnitUtil.deriveFont(8.0f);
    g2d.setFont(font);
    if ((tank2.getCrew() != null) && !tank2.getCrew().getName().equalsIgnoreCase("unnamed")) {
        Crew pilot = tank2.getCrew();
        g2d.drawString(pilot.getName(), 270, 120 + secondPageMargin);
        g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 132 + secondPageMargin);
        g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 132 + secondPageMargin);
    }
    g2d.drawString(Integer.toString(tank2.getWalkMP()), 79, 144 + secondPageMargin);
    if (!tank.hasWorkingMisc(MiscType.F_MASC, MiscType.S_SUPERCHARGER)) {
        g2d.drawString(Integer.toString(tank.getRunMP()), 79, 155 + secondPageMargin);
    } else {
        int mascMP = tank.getRunMP();
        g2d.drawString(Integer.toString(tank.getRunMPwithoutMASC()) + " [" + mascMP + "]", 79, 155 + secondPageMargin);
    }
    g2d.drawString(tank2.getMovementModeAsString(), 88, 537);
    String engineName = "Fusion Engine";
    switch(tank2.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";
            break;
        default:
            break;
    }
    g2d.drawString(engineName, 79, 548);
    if (tank2.getWeight() >= 5) {
        int tonnage = (int) Math.ceil(tank2.getWeight());
        g2d.drawString(Integer.toString(tonnage), 177, 505);
    } else {
        // DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols();
        // unusualSymbols.setDecimalSeparator('.');
        // unusualSymbols.setGroupingSeparator(',');
        // DecimalFormat myFormatter = new DecimalFormat("#.###",
        // unusualSymbols);
        g2d.drawString(String.format("%1$,d", tank2.getWeight()), 177, 505);
    }
    int nextDataLine = 155 + secondPageMargin;
    int startLine = 188;
    int lineFeed = 8;
    switch(tank2.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 (tank2.isMixedTech()) {
        if (tank2.isClan()) {
            techBase = "Mixed Tech (Clan)";
        } else {
            techBase = "Mixed Tech (I.S.)";
        }
    } else if (tank2.isClan()) {
        techBase = "Clan";
    }
    g2d.drawString(techBase, 177, 145);
    if ((tank2.getSource() != null) && (tank2.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, tank2.getSource(), false, 51, 8.0f);
        g2d.setFont(font);
        g2d.drawString(tank2.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", tank2.getYear()), 177, nextDataLine);
    }
    // Cost/BV
    // DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols();
    // unusualSymbols.setDecimalSeparator('.');
    // unusualSymbols.setGroupingSeparator(',');
    // DecimalFormat myFormatter = new DecimalFormat("#,###",
    // unusualSymbols);
    double bv = tank2.calculateBattleValue(true, true);
    if (bv != -1) {
        font = UnitUtil.deriveFont(true, 8);
        g2d.setFont(font);
        g2d.drawString("BV: ", 35, 357 + secondPageMargin);
        font = UnitUtil.deriveFont(false, 8);
        g2d.setFont(font);
        g2d.drawString(String.format("%1$,d", tank2.calculateBattleValue(true, true)), 50, 357 + secondPageMargin);
    }
    if (UnitUtil.hasBAR(tank2)) {
        font = UnitUtil.deriveFont(true, 9.0f);
        g2d.drawString("BAR: " + UnitUtil.getLowestBARRating(tank2), 400, 64 + secondPageMargin);
    }
    font = UnitUtil.deriveFont(true, 7);
    g2d.setFont(font);
    g2d.drawString("2011", 105f, 745.5f);
}
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