Search in sources :

Example 1 with Jumpship

use of megamek.common.Jumpship 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);
}
Also used : MegaMekLabMainUI(megameklab.com.ui.MegaMekLabMainUI) Entity(megamek.common.Entity) FixedWingSupport(megamek.common.FixedWingSupport) Tank(megamek.common.Tank) Infantry(megamek.common.Infantry) MegaMek(megamek.MegaMek) MechFileParser(megamek.common.MechFileParser) MegaMekLabMainUI(megameklab.com.ui.MegaMekLabMainUI) Mech(megamek.common.Mech) Jumpship(megamek.common.Jumpship) GunEmplacement(megamek.common.GunEmplacement) Aero(megamek.common.Aero) BattleArmor(megamek.common.BattleArmor)

Aggregations

MegaMek (megamek.MegaMek)1 Aero (megamek.common.Aero)1 BattleArmor (megamek.common.BattleArmor)1 Entity (megamek.common.Entity)1 FixedWingSupport (megamek.common.FixedWingSupport)1 GunEmplacement (megamek.common.GunEmplacement)1 Infantry (megamek.common.Infantry)1 Jumpship (megamek.common.Jumpship)1 Mech (megamek.common.Mech)1 MechFileParser (megamek.common.MechFileParser)1 Tank (megamek.common.Tank)1 MegaMekLabMainUI (megameklab.com.ui.MegaMekLabMainUI)1