use of megamek.common.Tank 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);
}
use of megamek.common.Tank 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);
}
use of megamek.common.Tank 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;
}
use of megamek.common.Tank in project megameklab by MegaMek.
the class UnitUtil method getEntityVerifier.
/**
* Returns a TestEntity instance for the supplied Entity.
*
* @param unit
* @return
*/
public static TestEntity getEntityVerifier(Entity unit) {
EntityVerifier entityVerifier = EntityVerifier.getInstance(new File("data/mechfiles/UnitVerifierOptions.xml"));
TestEntity testEntity = null;
if (unit.hasETypeFlag(Entity.ETYPE_MECH)) {
testEntity = new TestMech((Mech) unit, entityVerifier.mechOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_SUPPORT_TANK)) {
testEntity = new TestSupportVehicle((Tank) unit, entityVerifier.tankOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_TANK)) {
testEntity = new TestTank((Tank) unit, entityVerifier.tankOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) {
testEntity = new TestSmallCraft((SmallCraft) unit, entityVerifier.aeroOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_AERO)) {
testEntity = new TestAero((Aero) unit, entityVerifier.aeroOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_BATTLEARMOR)) {
testEntity = new TestBattleArmor((BattleArmor) unit, entityVerifier.baOption, null);
} else if (unit.hasETypeFlag(Entity.ETYPE_INFANTRY)) {
testEntity = new TestInfantry((Infantry) unit, entityVerifier.infOption, null);
}
return testEntity;
}
use of megamek.common.Tank in project megameklab by MegaMek.
the class EquipmentTableModel method getValueAt.
public Object getValueAt(int row, int col) {
EquipmentType type;
WeaponType wtype = null;
AmmoType atype = null;
MiscType mtype = null;
if (data.isEmpty()) {
return "";
} else {
type = data.get(row);
}
if (type instanceof WeaponType) {
wtype = (WeaponType) type;
}
if (type instanceof AmmoType) {
atype = (AmmoType) type;
}
if (type instanceof MiscType) {
mtype = (MiscType) type;
}
DecimalFormat formatter = new DecimalFormat();
if (col == COL_NAME) {
return UnitUtil.trimInfantryWeaponNames(type.getName());
} else if (col == COL_DAMAGE) {
if (null != wtype) {
return getDamageString(wtype, entity instanceof Aero);
} else {
return "-";
}
} else if (col == COL_DIVISOR) {
if (mtype != null && mtype.hasFlag(MiscType.F_ARMOR_KIT)) {
if ((mtype.getSubType() & MiscType.S_ENCUMBERING) == 0) {
return String.valueOf(mtype.getDamageDivisor());
} else {
return mtype.getDamageDivisor() + "E";
}
} else {
return "-";
}
} else if (col == COL_SPECIAL) {
String special = "";
if (type instanceof InfantryWeapon) {
if (type.hasFlag(WeaponType.F_INF_POINT_BLANK)) {
special += "(P)";
}
if (type.hasFlag(WeaponType.F_INF_AA)) {
special += "A";
}
if (type.hasFlag(WeaponType.F_INF_BURST)) {
special += "B";
}
if (type.hasFlag(WeaponType.F_INF_NONPENETRATING)) {
special += "N";
}
if (type.hasFlag(WeaponType.F_PLASMA) || type.hasFlag(WeaponType.F_INCENDIARY_NEEDLES) || type.hasFlag(WeaponType.F_INFERNO)) {
special += "F";
}
}
if (type.hasFlag(MiscType.F_ARMOR_KIT)) {
if ((type.getSubType() & MiscType.S_DEST) != 0) {
special += "DEST ";
}
if ((type.getSubType() & MiscType.S_SNEAK_CAMO) != 0) {
special += "Camo ";
}
if ((type.getSubType() & MiscType.S_SNEAK_IR) != 0) {
special += "IR ";
}
if ((type.getSubType() & MiscType.S_SNEAK_ECM) != 0) {
special += "ECM ";
}
if ((type.getSubType() & MiscType.S_SPACE_SUIT) != 0) {
special += "SPC ";
}
}
return special;
} else if (col == COL_CREW) {
String special = "";
if (type instanceof InfantryWeapon) {
special += Integer.toString(((InfantryWeapon) type).getCrew());
if (type.hasFlag(WeaponType.F_INF_ENCUMBER)) {
special += "E";
}
} else if (type instanceof WeaponType) {
// Field gun crew size
special += Math.max(2, (int) Math.ceil(type.getTonnage(entity)));
}
return special;
} else if (col == COL_HEAT) {
if (null != wtype) {
if (entity instanceof Aero) {
return Integer.toString(wtype.getHeat() * Mounted.getNumShots(wtype, null, true));
} else {
return Integer.toString(wtype.getHeat());
}
} else {
return "-";
}
} else if (col == COL_SHOTS) {
if (null != atype) {
return Integer.toString(atype.getShots());
} else {
return "-";
}
} else if (col == COL_RANGE) {
if (null != wtype) {
if (entity instanceof Aero) {
switch(wtype.maxRange) {
case RangeType.RANGE_SHORT:
return "Short";
case RangeType.RANGE_MEDIUM:
return "Medium";
case RangeType.RANGE_LONG:
return "Long";
case RangeType.RANGE_EXTREME:
return "Extreme";
}
;
}
if (wtype instanceof InfantryWeapon) {
return ((InfantryWeapon) wtype).getInfantryRange() + "";
}
return wtype.getShortRange() + "/" + wtype.getMediumRange() + "/" + wtype.getLongRange();
} else {
return "-";
}
} else if (col == COL_MRANGE) {
if (null != wtype) {
if (entity instanceof Aero) {
return "-";
}
int minRange = wtype.getMinimumRange();
if (minRange < 0) {
minRange = 0;
}
return Integer.toString(minRange);
} else {
return "-";
}
} else if (col == COL_TON) {
if ((entity instanceof BattleArmor) && (atype != null)) {
return (atype.getKgPerShot() * atype.getShots()) / 1000;
} else {
return type.getTonnage(entity);
}
} else if (col == COL_CRIT) {
if (entity instanceof Tank) {
return type.getTankslots(entity);
}
return type.getCriticals(entity);
} else if (col == COL_TRATING) {
return type.getFullRatingName(entity.isClan());
} else if (col == COL_COST) {
return formatter.format(type.getCost(entity, false, Entity.LOC_NONE));
} else if (col == COL_BV) {
return type.getBV(entity);
} else if (col == COL_DPROTOTYPE) {
return entity.isMixedTech() ? type.getTechAdvancement().getPrototypeDateName() : type.getTechAdvancement().getPrototypeDateName(entity.isClan());
} else if (col == COL_DPRODUCTION) {
return entity.isMixedTech() ? type.getTechAdvancement().getProductionDateName() : type.getTechAdvancement().getProductionDateName(entity.isClan());
} else if (col == COL_DCOMMON) {
return entity.isMixedTech() ? type.getTechAdvancement().getCommonDateName() : type.getTechAdvancement().getCommonDateName(entity.isClan());
} else if (col == COL_DEXTINCT) {
return entity.isMixedTech() ? type.getTechAdvancement().getExtinctionDateName() : type.getTechAdvancement().getExtinctionDateName(entity.isClan());
} else if (col == COL_DREINTRO) {
return entity.isMixedTech() ? type.getTechAdvancement().getReintroductionDateName() : type.getTechAdvancement().getReintroductionDateName(entity.isClan());
} else if (col == COL_TLEVEL) {
if ((null != techManager) && CConfig.getBooleanParam(CConfig.TECH_PROGRESSION)) {
return type.getSimpleLevel(techManager.getGameYear(), techManager.useClanTechBase(), techManager.getTechFaction()).toString();
} else {
return type.getStaticTechLevel().toString();
}
} else if (col == COL_TECH) {
switch(type.getTechBase()) {
case TechAdvancement.TECH_BASE_ALL:
return "All";
case TechAdvancement.TECH_BASE_IS:
return "IS";
case TechAdvancement.TECH_BASE_CLAN:
return "Clan";
}
} else if (col == COL_REF) {
return type.getRulesRefs();
}
return "?";
}
Aggregations