public void displayMech(Entity en) {
// Look out for a race condition.
if (en == null) {
return;
}
DisplayMapSet ams = mech;
removeAll();
if (en instanceof QuadMech) {
ams = quad;
minLeftMargin = minMechLeftMargin;
minTopMargin = minMechTopMargin;
minBottomMargin = minMechBottomMargin;
minRightMargin = minMechRightMargin;
} else if (en instanceof ArmlessMech) {
ams = armless;
minLeftMargin = minMechLeftMargin;
minTopMargin = minMechTopMargin;
minBottomMargin = minMechBottomMargin;
minRightMargin = minMechRightMargin;
} else if (en instanceof Mech) {
ams = mech;
minLeftMargin = minMechLeftMargin;
minTopMargin = minMechTopMargin;
minBottomMargin = minMechBottomMargin;
minRightMargin = minMechRightMargin;
} else if (en instanceof VTOL) {
ams = vtol;
minLeftMargin = minVTOLLeftMargin;
minTopMargin = minVTOLTopMargin;
minBottomMargin = minVTOLTopMargin;
minRightMargin = minVTOLLeftMargin;
} else if (en instanceof LargeSupportTank) {
ams = largeSupportTank;
minLeftMargin = minTankLeftMargin;
minTopMargin = minTankTopMargin;
minBottomMargin = minTankTopMargin;
minRightMargin = minTankLeftMargin;
} else if (en instanceof Tank) {
ams = tank;
minLeftMargin = minTankLeftMargin;
minTopMargin = minTankTopMargin;
minBottomMargin = minTankTopMargin;
minRightMargin = minTankLeftMargin;
} else if (en instanceof BattleArmor) {
ams = battleArmor;
minLeftMargin = minInfLeftMargin;
minTopMargin = minInfTopMargin;
minBottomMargin = minInfTopMargin;
minRightMargin = minInfLeftMargin;
} else if (en instanceof Infantry) {
ams = infantry;
minLeftMargin = minInfLeftMargin;
minTopMargin = minInfTopMargin;
minBottomMargin = minInfTopMargin;
minRightMargin = minInfLeftMargin;
} else if (en instanceof Protomech) {
ams = proto;
minLeftMargin = minTankLeftMargin;
minTopMargin = minTankTopMargin;
minBottomMargin = minTankTopMargin;
minRightMargin = minTankLeftMargin;
} else if (en instanceof GunEmplacement) {
ams = gunEmplacement;
minLeftMargin = minTankLeftMargin;
minTopMargin = minTankTopMargin;
minBottomMargin = minTankTopMargin;
minRightMargin = minTankLeftMargin;
} else if (en instanceof Warship) {
ams = warship;
minLeftMargin = minAeroLeftMargin;
minTopMargin = minAeroTopMargin;
minBottomMargin = minAeroTopMargin;
minRightMargin = minAeroLeftMargin;
} else if (en instanceof Jumpship) {
ams = jump;
minLeftMargin = minAeroLeftMargin;
minTopMargin = minAeroTopMargin;
minBottomMargin = minAeroTopMargin;
minRightMargin = minAeroLeftMargin;
} else if (en instanceof FighterSquadron) {
ams = squad;
minLeftMargin = minAeroLeftMargin;
minTopMargin = minAeroTopMargin;
minBottomMargin = minAeroTopMargin;
minRightMargin = minAeroLeftMargin;
} else if (en instanceof Aero) {
ams = aero;
if (en instanceof SmallCraft) {
SmallCraft sc = (SmallCraft) en;
if (sc.isSpheroid()) {
ams = sphere;
}
}
if (en.isCapitalFighter()) {
ams = capFighter;
}
minLeftMargin = minAeroLeftMargin;
minTopMargin = minAeroTopMargin;
minBottomMargin = minAeroTopMargin;
minRightMargin = minAeroLeftMargin;
}
if (ams == null) {
System.err.println("The armor panel is null."); //$NON-NLS-1$
return;
}
ams.setEntity(en);
addElement(ams.getContentGroup());
Enumeration<BackGroundDrawer> iter = ams.getBackgroundDrawers()
.elements();
while (iter.hasMoreElements()) {
addBgDrawer(iter.nextElement());
}
onResize();