Class BattleArmorBay

java.lang.Object
megamek.common.bays.Bay
megamek.common.bays.BattleArmorBay
All Implemented Interfaces:
Serializable, Transporter, ITechnology, InfantryTransporter

public final class BattleArmorBay extends Bay implements InfantryTransporter
Represents a volume of space set aside for carrying Battle Armor squads aboard large spacecraft and mobile structures
See Also:
  • Constructor Details

    • BattleArmorBay

      public BattleArmorBay(double space, int doors, int bayNumber, boolean isClan, boolean isComStar)
      Create a space for the given tonnage of troops. For this class, only the weight of the troops (and their equipment) are considered; if you'd like to think that they are stacked like lumber, be my guest.
      Parameters:
      space - The weight of troops (in tons) this space can carry.
  • Method Details

    • canLoad

      public boolean canLoad(Entity unit)
      Determines if this object can accept the given unit. The unit may not be of the appropriate type or there may be no room for the unit.
      Specified by:
      canLoad in interface InfantryTransporter
      Specified by:
      canLoad in interface Transporter
      Overrides:
      canLoad in class Bay
      Parameters:
      unit - the Entity to be loaded.
      Returns:
      true if the unit can be loaded, false otherwise.
    • canUnloadUnits

      public boolean canUnloadUnits()
      Overrides:
      canUnloadUnits in class Bay
      Returns:
      True when further doors are available to unload units this turn. This method checks only the state of bay doors, not if it has units left to unload or the status of those.
    • getUnusedString

      public String getUnusedString(boolean showRecovery)
      Description copied from class: Bay
      Return a string that identifies the unused capacity of this transporter.
      Overrides:
      getUnusedString in class Bay
      Returns:
      A String meant for a human.
    • getTransporterType

      public String getTransporterType()
      Specified by:
      getTransporterType in interface InfantryTransporter
      Specified by:
      getTransporterType in interface Transporter
    • getWeight

      public double getWeight()
      Overrides:
      getWeight in class Bay
      Returns:
      the tonnage of the bay, not the actual mass or weight
    • getPersonnel

      public int getPersonnel(boolean clan)
      Overrides:
      getPersonnel in class Bay
      Parameters:
      clan - Whether the bay is installed in a Clan unit. Needed for infantry bays.
      Returns:
      The number of additional crew provided by the bay. This includes transport bays only; crew quarters are already accounted for in the crew total.
    • toString

      public String toString()
      Description copied from class: Bay
      Updated toString() and helpers to normalize bay string output To match new 6-field format: type:space(current or total):doors:bayNumber:infantryType:facing:status bitmap See BLKFile.java:BLKFile constants
      Overrides:
      toString in class Bay
    • techAdvancement

      public static TechAdvancement techAdvancement()
    • getTechAdvancement

      public TechAdvancement getTechAdvancement()
      Overrides:
      getTechAdvancement in class Bay
    • isClan

      public boolean isClan()
      Specified by:
      isClan in interface ITechnology
      Overrides:
      isClan in class Bay
    • isComStar

      public boolean isComStar()
    • getCost

      public long getCost()
      Overrides:
      getCost in class Bay
      Returns:
      The cost of the bay in C-bills