/** * Return the Base Chassies Engine heat Sinks or intergalHeatSinkCapacity which ever is less. * * @param compact Whether this engine uses compact heat sinks or not. * * @return */ public int getBaseChassisHeatSinks(boolean compact) { return Math.min(integralHeatSinkCapacity(compact), baseChassisHeatSinks); }
buff.append(sinks) .append(" of ") .append(engine.integralHeatSinkCapacity(mech .hasCompactHeatSinks())) .append(" possible Internal Heat Sinks!").append("\n");
/** * base for adding engine sinks. Newer method allows externals to say how * much are engine HS. * * @param totalSinks * the amount of heatsinks to add to the engine * @param sinkName * the <code>String</code> determining the type of heatsink to * add. must be a lookupname of a heatsinktype */ public void addEngineSinks(int totalSinks, String sinkName) { if(!hasEngine()) { return; } EquipmentType sinkType = EquipmentType.get(sinkName); if (sinkType == null) { System.out.println("Mech: can't find heat sink to add to engine"); } int toAllocate = Math.min( totalSinks, getEngine().integralHeatSinkCapacity( sinkType.hasFlag(MiscType.F_COMPACT_HEAT_SINK))); addEngineSinks(sinkName, toAllocate); }
/** * Refits may require adding or removing heat sinks that are not tracked as parts. For Mechs and * ASFs this would be engine-integrated heat sinks if the heat sink type is changed. For vehicles and * conventional fighters this would be heat sinks required by energy weapons. * * @param entity Either the starting or the ending unit of the refit. * @return The number of heat sinks the unit mounts that are not tracked as parts. */ private int untrackedHeatSinkCount(Entity entity) { if (entity instanceof Mech) { return Math.min(((Mech) entity).heatSinks(), entity.getEngine().integralHeatSinkCapacity(((Mech) entity).hasCompactHeatSinks())); } else if ((entity instanceof Aero) && (entity.getEntityType() & (Entity.ETYPE_CONV_FIGHTER | Entity.ETYPE_SMALL_CRAFT | Entity.ETYPE_JUMPSHIP)) == 0) { return entity.getEngine().integralHeatSinkCapacity(false); } else { EntityVerifier verifier = EntityVerifier.getInstance(new File( "data/mechfiles/UnitVerifierOptions.xml")); TestEntity te = null; if (entity instanceof Tank) { te = new TestTank((Tank) entity, verifier.tankOption, null); return te.getCountHeatSinks(); } else if (entity instanceof ConvFighter) { te = new TestAero((Aero) entity, verifier.aeroOption, null); return te.getCountHeatSinks(); } else { return 0; } } }
buff.append("Heat Sinks:\n"); buff.append(" Engine " + engine.integralHeatSinkCapacity(mech .hasCompactHeatSinks()) + "\n"); buff.append(" Total " + getCountHeatSinks() + "\n");
buff.append("Heat Sinks:\n"); buff.append(" Engine " + engine.integralHeatSinkCapacity(false) + "\n"); buff.append(" Total " + getCountHeatSinks() + "\n"); buff.append(" Required " + engine.getWeightFreeEngineHeatSinks()
if ((countInternalHeatSinks > engine.integralHeatSinkCapacity(mech .hasCompactHeatSinks())) || ((countInternalHeatSinks < engine .integralHeatSinkCapacity(mech.hasCompactHeatSinks())) && (countInternalHeatSinks != ((Mech) entity) .heatSinks()) && !entity.isOmni())) {
mech.getEngine().integralHeatSinkCapacity(compact)); if (allocated < required) { illegal = true;
oldHS = Math.max(0, oldHS - oldUnit.getEntity().getEngine().integralHeatSinkCapacity(false)); newHS = Math.max(0, newHS - newEntity.getEngine().integralHeatSinkCapacity(false));