Interface ILocatable

All Superinterfaces:
ILocation
All Known Implementing Classes:
AeroHeatSink, AeroLifeSupport, AeroSensor, AmmoBin, AmmoStorage, Armor, Avionics, BAArmor, BattleArmorAmmoBin, BattleArmorEquipmentPart, BattleArmorSuit, BayDoor, BuildingLocation, CombatInformationCenter, Cubicle, DropshipDockingCollar, EnginePart, EquipmentPart, FireControlSystem, GravDeck, HeatSink, InfantryAmmoBin, InfantryAmmoStorage, InfantryArmorPart, InfantryDisposableWeaponPart, InfantryMotiveType, InfantryWeaponPart, JumpJet, JumpshipDockingCollar, KFBoom, KFChargingSystem, KFDriveCoil, KFDriveController, KFFieldInitiator, KFHeliumTank, LandingGear, LargeCraftAmmoBin, LFBattery, MASC, MekActuator, MekCockpit, MekGyro, MekLifeSupport, MekLocation, MekSensor, MissingAeroHeatSink, MissingAeroLifeSupport, MissingAeroSensor, MissingAmmoBin, MissingAvionics, MissingBattleArmorEquipmentPart, MissingBattleArmorSuit, MissingBayDoor, MissingCIC, MissingCubicle, MissingDropshipDockingCollar, MissingEnginePart, MissingEquipmentPart, MissingFireControlSystem, MissingGravDeck, MissingHeatSink, MissingInfantryAmmoBin, MissingInfantryArmorPart, MissingInfantryDisposableWeaponPart, MissingInfantryMotiveType, MissingJumpJet, MissingJumpshipDockingCollar, MissingKFBoom, MissingKFChargingSystem, MissingKFDriveCoil, MissingKFDriveController, MissingKFFieldInitiator, MissingKFHeliumTank, MissingLandingGear, MissingLargeCraftAmmoBin, MissingLFBattery, MissingMASC, MissingMekActuator, MissingMekCockpit, MissingMekGyro, MissingMekLifeSupport, MissingMekLocation, MissingMekSensor, MissingOmniPod, MissingPart, MissingProtoMekArmActuator, MissingProtoMekJumpJet, MissingProtoMekLegActuator, MissingProtoMekLocation, MissingProtoMekSensor, MissingQuadVeeGear, MissingRotor, MissingSpacecraftEngine, MissingSVEngine, MissingThrusters, MissingTurret, MissingVeeSensor, MissingVeeStabilizer, MotiveSystem, OmniPod, Part, Part.PartPersonRef, Part.PartRef, Part.PartUnitRef, Person, Person.PersonUnitRef, PersonIdReference, ProtoMekArmActuator, ProtoMekArmor, ProtoMekJumpJet, ProtoMekLegActuator, ProtoMekLocation, ProtoMekSensor, QuadVeeGear, Refit, Refit.RefitArmorRef, Refit.RefitPartRef, Refit.RefitPersonRef, Rotor, SpacecraftCoolingSystem, SpacecraftEngine, StructuralIntegrity, SVArmor, SVEnginePart, TankLocation, TestUnit, Thrusters, TransportBayPart, Turret, TurretLock, Unit, Unit.UnitPersonRef, Unit.UnitRef, UnitOrder, VeeSensor, VeeStabilizer

public interface ILocatable extends ILocation
An ILocation that the player can pick up and move around the location tree — a concrete thing that lives somewhere, as opposed to a place that hosts other locations. Implemented by Unit, Person, and Part.
  • Method Details

    • canBeManuallyDispatched

      boolean canBeManuallyDispatched()
      Whether the player may manually dispatch this item to a new location (via the "Send To..." context menu).

      Each implementation forbids dispatch while the item is committed elsewhere — e.g. deployed to a scenario, enrolled as a student, reserved for work, or still in transit from a purchase.

      Returns:
      true if the item is free to be dispatched, otherwise false
    • isQueuedForTravel

      default boolean isQueuedForTravel(CampaignLocationManager locationManager)
      Whether this item is currently sitting in the pending-travel queue, awaiting dispatch on the next new day.

      This is the pre-dispatch state — the item is still at its origin, queued for travel but not yet moved into active transit (contrast with ILocation.isInTransit()). The queue lives on the CampaignLocationManager rather than in the location tree, so the manager must be supplied.

      Parameters:
      locationManager - the campaign's location manager holding the pending-travel queue
      Returns:
      true if this item is queued for travel but not yet dispatched, otherwise false
    • isInUse

      default boolean isInUse()
      A Unit, Person, or Part is a real occupant, so a location node hosting one is always in use and must not be pruned.
      Specified by:
      isInUse in interface ILocation