diff --git a/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java b/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java index d45435202..c0dc9a6cd 100644 --- a/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java +++ b/megameklab/src/megameklab/ui/fighterAero/ASMainUI.java @@ -89,7 +89,7 @@ public void reloadTabs() { public void createNewUnit(long entityType, boolean isPrimitive, boolean isIndustrial, Entity oldEntity) { if (entityType == Entity.ETYPE_AERO) { - setEntity(new Aero()); + setEntity(new AeroSpaceFighter()); getEntity().setTechLevel(TechConstants.T_IS_TW_NON_BOX); } else if (entityType == Entity.ETYPE_CONV_FIGHTER) { setEntity(new ConvFighter()); diff --git a/megameklab/src/megameklab/ui/generalUnit/summary/ArmorSummaryItem.java b/megameklab/src/megameklab/ui/generalUnit/summary/ArmorSummaryItem.java index c0a01e2f9..6d09409d5 100644 --- a/megameklab/src/megameklab/ui/generalUnit/summary/ArmorSummaryItem.java +++ b/megameklab/src/megameklab/ui/generalUnit/summary/ArmorSummaryItem.java @@ -19,7 +19,9 @@ package megameklab.ui.generalUnit.summary; import megamek.common.*; +import megamek.common.verifier.TestAero; import megamek.common.verifier.TestEntity; +import megamek.common.verifier.TestSmallCraft; import megamek.common.verifier.TestSupportVehicle; import megameklab.util.UnitUtil; @@ -58,6 +60,8 @@ public void refresh(Entity entity) { } } else if (entity instanceof Tank) { critLabel.setText(formatCrits(getTankArmorCrits(entity))); + } else if (entity instanceof AeroSpaceFighter) { + critLabel.setText(getFighterCrits(entity)); } if (entity.hasPatchworkArmor()) { @@ -102,4 +106,28 @@ private int getTankArmorCrits(Entity entity) { return usedSlots; } + + private String getFighterCrits(Entity entity) { + if (entity.hasPatchworkArmor()) { + int slots = 0; + for (int loc = 0; loc < Aero.LOC_WINGS; loc++) { + TestAero.AeroArmor aeroArmor = getArmorType(entity, loc); + if (aeroArmor == null) { + return "?"; + } + slots += aeroArmor.patchworkSpace; + } + return formatCrits(slots); + } else { + TestAero.AeroArmor aeroArmor = getArmorType(entity, Aero.LOC_NOSE); + if (aeroArmor == null) { + return "?"; + } + return formatCrits(aeroArmor.space); + } + } + + private TestAero.AeroArmor getArmorType(Entity entity, int location) { + return TestAero.AeroArmor.getArmor(entity.getArmorType(location), entity.isClanArmor(location)); + } }