use of megamek.common.Crew in project megameklab by MegaMek.
the class PrintLargeSupportVehicle method printLargeSupportTankData.
private void printLargeSupportTankData(Graphics2D g2d) {
String largesupportankName = largesupporttank.getChassis() + " " + largesupporttank.getModel();
g2d.setFont(UnitUtil.getNewFont(g2d, largesupportankName, true, 180, 10.0f));
g2d.drawString(largesupportankName, 49 + xoffset, 120 + yoffset);
Font font = UnitUtil.deriveFont(true, 15.0f);
g2d.setFont(font);
if (largesupporttank instanceof LargeSupportTank) {
g2d.drawString("LARGE GROUND SUPPORT VEHICLE RECORD SHEET", 60 + xoffset, 88 + yoffset);
} else {
g2d.drawString("SUPER-HEAVY COMBAT VEHICLE RECORD SHEET", 60 + xoffset, 88 + yoffset);
}
font = UnitUtil.deriveFont(8.0f);
g2d.setFont(font);
if ((largesupporttank.getCrew() != null) && !largesupporttank.getCrew().getName().equalsIgnoreCase("unnamed")) {
Crew pilot = largesupporttank.getCrew();
g2d.drawString(pilot.getName(), 270 + xoffset, 120 + yoffset);
g2d.drawString(String.valueOf(pilot.getGunnery()), 295 + xoffset, 132 + yoffset);
g2d.drawString(String.valueOf(pilot.getPiloting()), 365 + xoffset, 132 + yoffset);
}
g2d.drawString(Integer.toString(largesupporttank.getWalkMP()), 79 + xoffset, 144 + yoffset);
if (!largesupporttank.hasWorkingMisc(MiscType.F_MASC, MiscType.S_SUPERCHARGER)) {
g2d.drawString(Integer.toString(largesupporttank.getRunMP()), 79 + xoffset, 155 + yoffset);
} else {
int mascMP = largesupporttank.getRunMP();
g2d.drawString(Integer.toString(largesupporttank.getRunMPwithoutMASC()) + " [" + mascMP + "]", 79 + xoffset, 155 + yoffset);
}
g2d.drawString(largesupporttank.getMovementModeAsString(), 88 + xoffset, 166 + yoffset);
String engineName = "Fusion Engine";
switch(largesupporttank.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;
case Engine.NONE:
engineName = "None";
break;
default:
break;
}
g2d.drawString(engineName, 79 + xoffset, 177 + yoffset);
int tonnage = (int) Math.ceil(largesupporttank.getWeight());
g2d.drawString(Integer.toString(tonnage), 177 + xoffset, 134 + yoffset);
String techBase = "Inner Sphere";
if (largesupporttank.isMixedTech()) {
if (largesupporttank.isClan()) {
techBase = "Mixed Tech (Clan)";
} else {
techBase = "Mixed Tech (I.S.)";
}
} else if (largesupporttank.isClan()) {
techBase = "Clan";
}
font = UnitUtil.getNewFont(g2d, techBase, false, 48, 8f);
g2d.setFont(font);
g2d.drawString(techBase, 177 + xoffset, 145 + yoffset);
float nextDataLine = 153 + yoffset;
float startLine = 188 + xoffset;
float lineFeed = 8;
switch(largesupporttank.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;
}
if ((largesupporttank.getSource() != null) && (largesupporttank.getSource().trim().length() > 0)) {
String sourceFluff = "Era: ";
font = UnitUtil.deriveFont(true, 8.0f);
g2d.setFont(font);
g2d.drawString(sourceFluff, 138 + xoffset, nextDataLine);
font = UnitUtil.getNewFont(g2d, largesupporttank.getSource(), false, 51, 8.0f);
g2d.setFont(font);
g2d.drawString(largesupporttank.getSource(), 177 + xoffset, nextDataLine);
} else {
String yearFluff = "Year: ";
font = UnitUtil.deriveFont(true, 8.0f);
g2d.setFont(font);
g2d.drawString(yearFluff, 138 + xoffset, nextDataLine);
font = UnitUtil.deriveFont(8.0f);
g2d.setFont(font);
g2d.drawString(String.format("%1$s", largesupporttank.getYear()), 177 + xoffset, nextDataLine);
}
// g2d.drawString(Integer.toString(largesupportank.getYear()), 188,
// 155);
// Cost/BV
// DecimalFormatSymbols unusualSymbols =
// new DecimalFormatSymbols();
// unusualSymbols.setDecimalSeparator('.');
// unusualSymbols.setGroupingSeparator(',');
// DecimalFormat myFormatter = new DecimalFormat("#,###",
// unusualSymbols);
double bv = largesupporttank.calculateBattleValue(true, true);
if (bv != -1) {
font = UnitUtil.deriveFont(true, 8);
g2d.setFont(font);
g2d.drawString("BV: ", 35 + xoffset, 357 + yoffset);
font = UnitUtil.deriveFont(false, 8);
g2d.setFont(font);
g2d.drawString(String.format("%1$,d", largesupporttank.calculateBattleValue(true, true)), 50 + xoffset, 357 + yoffset);
}
if (UnitUtil.hasBAR(largesupporttank)) {
font = UnitUtil.deriveFont(true, 9.0f);
g2d.drawString("BAR: " + Integer.toString(UnitUtil.getLowestBARRating(largesupporttank)), 400 + xoffset, 64 + yoffset);
}
font = UnitUtil.deriveFont(true, 6f);
g2d.setFont(font);
g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 52f, 395f + secondPageMargin);
}
use of megamek.common.Crew in project megameklab by MegaMek.
the class PrintVehicle 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, 120 + secondPageMargin);
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, 166 + secondPageMargin);
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 Engine";
break;
case Engine.NONE:
engineName = "None";
break;
default:
break;
}
g2d.drawString(engineName, 79, 177 + secondPageMargin);
if (tank2.getWeight() >= 5) {
int tonnage = (int) Math.ceil(tank2.getWeight());
g2d.drawString(Integer.toString(tonnage), 177, 134 + secondPageMargin);
} else {
// DecimalFormatSymbols unusualSymbols =
// new DecimalFormatSymbols();
// unusualSymbols.setDecimalSeparator('.');
// unusualSymbols.setGroupingSeparator(',');
// DecimalFormat myFormatter = new DecimalFormat("#.###",
// unusualSymbols);
g2d.drawString(String.format("%1$,d", tank2.getWeight()), 177, 134 + secondPageMargin);
}
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 + secondPageMargin);
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);
}
use of megamek.common.Crew in project megameklab by MegaMek.
the class PrintVehicle 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, 154);
} else {
int mascMP = tank.getRunMP();
g2d.drawString(Integer.toString(tank.getRunMPwithoutMASC()) + " [" + mascMP + "]", 79, 154);
}
if (tank.getJumpMP() > 0) {
font = UnitUtil.deriveFont(true, 8f);
g2d.setFont(font);
g2d.drawString("Jump:", 92, 154f);
font = UnitUtil.deriveFont(false, 8f);
g2d.setFont(font);
g2d.drawString(Integer.toString(tank.getJumpMP()), 120, 154f);
}
g2d.drawString(tank.getMovementModeAsString(), 88, 165);
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:
if (tank instanceof SupportTank) {
engineName = "Electric (Fuel Cell) Engine";
} else {
engineName = "Fuel Cell Engine";
}
break;
case Engine.FISSION:
engineName = "Fission Engine";
break;
case Engine.SOLAR:
engineName = "Electric (Solar) Engine";
break;
case Engine.BATTERY:
engineName = "Electric (Batteries) Engine";
break;
case Engine.STEAM:
engineName = "Steam Engine";
break;
case Engine.MAGLEV:
engineName = "MagLev Engine";
break;
case Engine.NONE:
engineName = "None";
break;
default:
break;
}
g2d.drawString(engineName, 79, 176);
if (tank.getWeight() >= 5) {
int tonnage = (int) Math.ceil(tank.getWeight());
g2d.drawString(Integer.toString(tonnage), 177, 133);
} else {
g2d.drawString(String.format("%1$,.1f", tank.getWeight()), 177, 133);
}
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, 144);
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, 7f);
g2d.setFont(font);
g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 374.5f);
g2d.drawString(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 62.5f, 374.5f + secondPageMargin);
if (tank2 != null) {
printTank2Data(g2d);
}
}
use of megamek.common.Crew in project megameklab by MegaMek.
the class PrintSpheroid 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, 125);
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, 125);
g2d.drawString(String.valueOf(pilot.getGunnery()), 295, 137);
g2d.drawString(String.valueOf(pilot.getPiloting()), 365, 137);
}
g2d.drawString(Integer.toString(dropship.getWalkMP()), 99, 163);
g2d.drawString(Integer.toString(dropship.getRunMPwithoutMASC()), 99, 174);
int tonnage = (int) Math.ceil(dropship.getWeight());
if ((tonnage % 5) != 0) {
tonnage += 5 - (tonnage % 5);
}
g2d.drawString(String.format("%1$,d", tonnage), 177, 139.5f);
int nextDataLine = 159;
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, 150.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, 492.2f);
font = UnitUtil.deriveFont(false, 8);
g2d.setFont(font);
g2d.drawString(String.format("%1$,d", dropship.calculateBattleValue(true, true)), 50, 492.2f);
}
font = UnitUtil.deriveFont(true, 8);
g2d.setFont(font);
g2d.drawString("Fuel: ", 80, 492.2f);
font = UnitUtil.deriveFont(false, 8);
g2d.setFont(font);
g2d.drawString(String.format("%1$,d", dropship.getFuel()), 98, 492.2f);
// Crew data
g2d.drawString(String.format("%1$s/%2$s", dropship.getLifeBoats(), dropship.getEscapePods()), 335, 624.6f);
g2d.drawString(String.format("%1$s", dropship.getNCrew()), 283, 594.6f);
g2d.drawString(String.format("%1$s", dropship.getNPassenger()), 283, 604.6f);
g2d.drawString(String.format("%1$s", dropship.getNOtherPassenger()), 283, 614.6f);
g2d.drawString(String.format("%1$s", dropship.getNMarines()), 357, 593.6f);
g2d.drawString(String.format("%1$s", dropship.getNBattleArmor()), 357, 613.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, 779.5f);
}
use of megamek.common.Crew in project megameklab by MegaMek.
the class PrintDualTurretVehicle 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, 515);
if (!tank.hasWorkingMisc(MiscType.F_MASC, MiscType.S_SUPERCHARGER)) {
g2d.drawString(Integer.toString(tank.getRunMP()), 79, 526);
} else {
int mascMP = tank.getRunMP();
g2d.drawString(Integer.toString(tank.getRunMPwithoutMASC()) + " [" + mascMP + "]", 79, 526);
}
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 = tank.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", tank.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(Integer.toString(Calendar.getInstance().get(Calendar.YEAR)), 105f, 745.5f);
}
Aggregations