Interface ITechManager


public interface ITechManager
Determines whether a piece of technology (a part, construction option, or entire unit) meets certain constraints such as intro year, tech base, or tech level. Provides methods to define the constraints and options.
  • Method Details

    • getTechIntroYear

      int getTechIntroYear()
      Returns:
      The maximum intro date for the tech; any tech that appears after this date will be excluded.
    • getGameYear

      int getGameYear()
      Returns:
      The date to use in determining the current tech level if useVariableTechLevel() is true.
    • getTechFaction

      Faction getTechFaction()
      Indicates which faction should be used in determining intro and tech level dates. Not all tech has faction-specific dates. Special consideration is given to F_COMSTAR, which ignores extinction dates of Inner Sphere tech that is later reintroduced. Clan factions treat Star-League Era tech that later goes extinct for the Clans as Clan tech up to the extinction date, providing a transitional stage from the formation of the Clans until early in the Golden Century.
      Returns:
      One of the F_* faction constants defined in ITechnology. If < 0, faction variations will be ignored.
    • useClanTechBase

      boolean useClanTechBase()
      Returns:
      True if the tech should have a Clan tech base, or false for Inner Sphere/Periphery
    • useMixedTech

      boolean useMixedTech()
      Returns:
      True if both Inner Sphere and Clan tech bases are acceptable.
    • getTechLevel

      SimpleTechLevel getTechLevel()
      Returns:
      The maximum allowable tech level.
    • unofficialNoYear

      boolean unofficialNoYear()
      Returns:
      If true and getTechLevel() is UNOFFICIAL, intro dates are ignored.
    • useVariableTechLevel

      boolean useVariableTechLevel()
      Returns:
      If true, the rules level of a piece of tech will vary as it moves through production stages per the rules in IO, pp. 33-4.
    • showExtinct

      boolean showExtinct()
      Returns:
      Whether tech that is no longer in production should be included.
    • isLegal

      default boolean isLegal(ITechnology tech)