public boolean accept(File direc, String name) { boolean extMatch = false; for (String ext : EXTENSIONS_FLUFF_IMAGE_FORMATS) { extMatch |= name.endsWith(ext); } String chassis = name.split("\\[")[0].trim(); return chassis.equalsIgnoreCase(unit.getChassis()) && extMatch; } });
private boolean isSameEquipment(Object equipment, Object newEquipment) { if(newEquipment instanceof Part && equipment instanceof Part) { if(((Part)equipment).isSamePartType((Part)newEquipment)) { return true; } } if(newEquipment instanceof Entity && equipment instanceof Entity) { Entity entityA = (Entity)newEquipment; Entity entityB = (Entity)equipment; if(entityA.getChassis().equals(entityB.getChassis()) && entityA.getModel().equals(entityB.getModel())) { return true; } } return false; }
/** * Generate a Quirk's Unit ID given an Entity. * * @param ent Entity to generate UnitId from * @param useModel determines if the model should be used, or be 'all' * @return The ID for the unit. */ private static String getUnitId(Entity ent, boolean useModel) { String typeText = Entity.getEntityMajorTypeName(ent.getEntityType()); if (useModel) { return ent.getChassis() + "~" + ent.getModel() + "~" + typeText; } else { return ent.getChassis() + "~~" + typeText; } }
/** * Returns the MechEntry corresponding to the entity */ public MechEntry entryFor(Entity entity, int secondaryPos) { //Some entities (QuadVees, LAMs) use different sprites depending on mode. String mode = entity.getTilesetModeString().toUpperCase(); // first, check for exact matches if (secondaryPos != -1) { if (exact.containsKey(entity.getShortNameRaw().toUpperCase()+mode+"_"+secondaryPos)) { return exact.get(entity.getShortNameRaw().toUpperCase()+mode+"_"+secondaryPos); } // next, chassis matches if (chassis.containsKey(entity.getChassis().toUpperCase()+mode+"_"+secondaryPos)) { return chassis.get(entity.getChassis().toUpperCase()+mode+"_"+secondaryPos); } // last, the generic model return genericFor(entity, secondaryPos); } if (exact.containsKey(entity.getShortNameRaw().toUpperCase() + mode)) { return exact.get(entity.getShortNameRaw().toUpperCase() + mode); } // next, chassis matches if (chassis.containsKey(entity.getChassis().toUpperCase() + mode)) { return chassis.get(entity.getChassis().toUpperCase() + mode); } // last, the generic model return genericFor(entity, secondaryPos); }
public boolean isCustom(Unit u) { return customs.contains(u.getEntity().getChassis() + " " + u.getEntity().getModel()); }
String getDebugDescription(boolean detailed) { if (size() == 0) { return "Empty FiringPlan!"; } StringBuilder description = new StringBuilder("Firing Plan for ").append(get(0).getShooter().getChassis()) .append(" at ") .append(getTarget().getDisplayName()) .append("; ").append(Integer.toString(size())) .append(" weapons fired "); if (detailed) { for (WeaponFireInfo weaponFireInfo : this) { description.append("\n\t\t").append(weaponFireInfo.getDebugDescription()); } } DecimalFormat decimalFormat = new DecimalFormat("0.00000"); description.append("\n\tTotal Expected Damage=").append(decimalFormat.format(getExpectedDamage())); description.append("\n\tTotal Expected Criticals=").append(decimalFormat.format(getExpectedCriticals())); description.append("\n\tKill Probability=").append(decimalFormat.format(getKillProbability())); description.append("\n\tUtility=").append(decimalFormat.format(getUtility())); return description.toString(); }
protected void addBasicData(Entity entity) { model.put("formatBasicDataRow", new FormatTableRowMethod(new int[] { 30, 20, 5 }, new Justification[] { Justification.LEFT, Justification.LEFT, Justification.RIGHT })); model.put("fullName", entity.getShortNameRaw()); model.put("chassis", entity.getChassis()); model.put("techBase", formatTechBase(entity)); model.put("tonnage", NumberFormat.getInstance().format(entity.getWeight())); model.put("battleValue", NumberFormat.getInstance().format(entity.calculateBattleValue())); model.put("cost", NumberFormat.getInstance().format(entity.getCost(false))); final StringJoiner quirksList = new StringJoiner(", "); final Quirks quirks = entity.getQuirks(); for (final Enumeration<IOptionGroup> optionGroups = quirks.getGroups(); optionGroups.hasMoreElements();) { final IOptionGroup group = optionGroups.nextElement(); if (quirks.count(group.getKey()) > 0) { for (final Enumeration<IOption> options = group.getOptions(); options.hasMoreElements();) { final IOption option = options.nextElement(); if ((option != null) && option.booleanValue()) { quirksList.add(option.getDisplayableNameWithValue()); } } } } if (quirksList.length() > 0) { model.put("quirks", quirksList.toString()); } }
private static String formatHeader(Entity e) { StringBuffer sb = new StringBuffer(1024); sb.append("Model: ").append(e.getChassis()).append(" - ") .append(e.getModel()).append(CommonConstants.NL); for (int i = 0; i < e.getCrew().getSlotCount(); i++) { if (e.getCrew().isMissing(i)) { sb.append("No ").append(e.getCrew().getCrewType().getRoleName(i)); } else { sb.append(e.getCrew().getCrewType().getRoleName(i)).append(": ") .append(e.getCrew().getName(i)); sb.append(" (").append(e.getCrew().getGunnery(i)).append("/") .append(e.getCrew().getPiloting(i)).append(")"); } sb.append(CommonConstants.NL); } if (e.isCaptured()) { sb.append(" *** CAPTURED BY THE ENEMY ***"); sb.append(CommonConstants.NL); } return sb.toString(); }
public synchronized void updateSaveWeaponOrderMenuItem() { if ((entity != null)) { WeaponOrderHandler.WeaponOrder storedWeapOrder = WeaponOrderHandler .getWeaponOrder(entity.getChassis(), entity.getModel()); WeaponOrderHandler.WeaponOrder newWeapOrder = new WeaponOrderHandler.WeaponOrder(); newWeapOrder.orderType = entity.getWeaponSortOrder(); newWeapOrder.customWeaponOrderMap = entity.getCustomWeaponOrder(); boolean isDefault = (storedWeapOrder == null) && (newWeapOrder.orderType == WeaponSortOrder.DEFAULT); if (!newWeapOrder.equals(storedWeapOrder) && !isDefault) { fireSaveWeapOrder.setEnabled(true); } else { fireSaveWeapOrder.setEnabled(false); } } else { fireSaveWeapOrder.setEnabled(false); } }
public void loadDefaultCustomWeaponOrder() { WeaponOrderHandler.WeaponOrder weapOrder = WeaponOrderHandler.getWeaponOrder( getChassis(), getModel()); if (weapOrder != null) { setWeaponSortOrder(weapOrder.orderType); setCustomWeaponOrder(weapOrder.customWeaponOrderMap); } }
public void writeToXml(PrintWriter pw1, int indent) { pw1.println(MekHqXmlUtil.indentStr(indent) + "<loot>"); pw1.println(MekHqXmlUtil.indentStr(indent+1) +"<name>" +MekHqXmlUtil.escape(name) +"</name>"); pw1.println(MekHqXmlUtil.indentStr(indent+1) +"<cash>" +cash +"</cash>"); for(Entity e : units) { String lookupName = e.getChassis() + " " + e.getModel(); lookupName.replaceAll("\\s+$", ""); pw1.println(MekHqXmlUtil.indentStr(indent+1) +"<entityName>" +lookupName +"</entityName>"); } for(Part p : parts) { p.writeToXml(pw1, indent+1); } pw1.println(MekHqXmlUtil.indentStr(indent) + "</loot>"); }
private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHireActionPerformed String chassis = txtChassis.getText().trim(); String model = txtModel.getText().trim(); if(chassis.isEmpty()) { chassis = refit.getOriginalEntity().getChassis(); } if(model.isEmpty()) { model = refit.getOriginalEntity().getModel() + " Mk II"; } if(null != MechSummaryCache.getInstance().getMech(chassis + " " + model)) { JOptionPane.showMessageDialog(null, "There is already a unit in the database with this name.\nPlease select a different name.", "Name already in use", JOptionPane.ERROR_MESSAGE); return; } refit.getNewEntity().setChassis(chassis); refit.getNewEntity().setModel(model); this.setVisible(false); }
String fileName = MhqFileUtil.escapeReservedCharacters(newEntity.getChassis() + " " + newEntity.getModel()); String sCustomsDir = "data"+File.separator+"mechfiles"+File.separator+"customs"; String sCustomsDirCampaign = sCustomsDir+File.separator+oldUnit.campaign.getName(); ex.printStackTrace(); oldUnit.campaign.addCustom(newEntity.getChassis() + " " + newEntity.getModel()); MechSummaryCache.getInstance().loadMechData(); MechSummary summary = MechSummaryCache.getInstance().getMech(newEntity.getChassis() + " " + newEntity.getModel()); if(null == summary) { throw(new EntityLoadingException());
preparedStatement = connect.prepareStatement("UPDATE " + table + ".equipment SET type=?, name=?, subtype=?, crew=?, weight=?, regnumber=?, notes=? WHERE uuid=?"); preparedStatement.setInt(1, u.getEntity().getUnitType() + 1); preparedStatement.setString(2, truncateString(u.getEntity().getChassis(), 45)); preparedStatement.setString(3, truncateString(u.getEntity().getModel(), 45)); if(null != u.getCommander()) { preparedStatement.setString(2, truncateString(u.getEntity().getChassis(), 45)); preparedStatement.setString(3, truncateString(u.getEntity().getModel(), 45)); if(null != u.getCommander()) {
String iconName = e.getChassis() + " " + e.getModel(); //$NON-NLS-1$ return adjustString(iconName, metrics); } else if (e instanceof Tank) {
@Override public Object getNewEquipment() { final String METHOD_NAME = "getNewEquipment()"; //$NON-NLS-1$ String name = getEntity().getChassis() + " " + getEntity().getModel(); name = name.trim(); MechSummary summary = MechSummaryCache.getInstance().getMech(name); if(null == summary) { //throw(new EntityLoadingException()); MekHQ.getLogger().log(getClass(), METHOD_NAME, LogLevel.ERROR, "Could not find a mech summary for " + name); //$NON-NLS-1$ return null; } try { return new MechFileParser(summary.getSourceFile(), summary.getEntryName()).getEntity(); } catch (EntityLoadingException e) { MekHQ.getLogger().log(getClass(), METHOD_NAME, LogLevel.ERROR, "Could not load " + summary.getEntryName()); //$NON-NLS-1$ return null; } }
private void populateRefits() { ArrayList<Refit> refits = new ArrayList<Refit>(); for(String model : Utilities.getAllVariants(unit.getEntity(), campaign)) { MechSummary summary = MechSummaryCache.getInstance().getMech(unit.getEntity().getChassis() + " " + model); if(null == summary) { continue; } try { Entity refitEn = new MechFileParser(summary.getSourceFile(), summary.getEntryName()).getEntity(); if(null != refitEn) { Refit r = new Refit(unit, refitEn, false, false); if(null == r.checkFixable()) { refits.add(r); } } } catch (EntityLoadingException ex) { MekHQ.getLogger().error(getClass(), "populateRefits()", ex); //$NON-NLS-1$ } } refitModel = new RefitTableModel(refits); }
for(MechSummary summary : MechSummaryCache.getInstance().getAllMechs()) { if(!en.getChassis().equalsIgnoreCase(summary.getChassis()) || en.getModel().equalsIgnoreCase(summary.getModel()) || summary.getTons() != en.getWeight()
ret += "Incorrect To Hit prediction, weapon " + weapon.getName() + " (" + shooter.getChassis() + " vs " + target.getDisplayName() + ")" + ":\n"; ret += " Guess: " + Integer.toString(guessInfo.getToHit().getValue()) + " " +
public UnitStatus(Unit unit) { this.unit = unit; this.name = unit.getName(); chassis = unit.getEntity().getChassis(); model = unit.getEntity().getModel(); //assume its a total loss until we find something that says otherwise totalLoss = true; //create a brand new entity until we find one MechSummary summary = MechSummaryCache.getInstance().getMech(getLookupName()); if(null == summary) { } else { try { entity = unit.getEntity() == null ? new MechFileParser(summary.getSourceFile(), summary.getEntryName()).getEntity() : unit.getEntity(); baseEntity = new MechFileParser(summary.getSourceFile(), summary.getEntryName()).getEntity(); } catch (EntityLoadingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }