Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RoomPlanner

The room planner handles structure placement within a room automatically or (in manual or semiautomatic mode) with manual guidance from room planner flags.

Hierarchy

  • RoomPlanner

Index

Constructors

constructor

Properties

barrierPlanner

barrierPlanner: BarrierPlanner

colony

colony: Colony

map

memory

placements

placements: object

Type declaration

plan

plan: RoomPlan

roadPlanner

roadPlanner: RoadPlanner

Accessors

active

  • get active(): boolean
  • set active(active: boolean): void

bunkerPos

  • get bunkerPos(): RoomPosition | undefined

hatcheryPos

  • get hatcheryPos(): RoomPosition | undefined

storagePos

  • get storagePos(): RoomPosition | undefined

Methods

addComponent

  • addComponent(componentName: "hatchery" | "commandCenter" | "bunker", pos: RoomPosition, rotation?: number): void
  • Parameters

    • componentName: "hatchery" | "commandCenter" | "bunker"
    • pos: RoomPosition
    • Default value rotation: number = 0

    Returns void

Private buildMissingStructures

  • buildMissingStructures(): void

Private buildNeededLinks

  • buildNeededLinks(): void

Private calculateLinkPos

  • calculateLinkPos(anchor: RoomPosition): RoomPosition | undefined

Private calculateUpgradeSiteLinkPos

  • calculateUpgradeSiteLinkPos(): RoomPosition | undefined

Private demolishHostileStructures

  • demolishHostileStructures(destroyStorageUnits?: boolean): void

Private demolishMisplacedStructures

  • demolishMisplacedStructures(skipRamparts?: boolean, destroyAllStructureTypes?: boolean): void
  • Parameters

    • Default value skipRamparts: boolean = true
    • Default value destroyAllStructureTypes: boolean = false

    Returns void

finalize

  • finalize(ignoreRoads?: boolean): void

Private findCollision

  • findCollision(ignoreRoads?: boolean): RoomPosition | undefined

Private generatePlan

  • generatePlan(level?: number): RoomPlan

getBunkerStructurePlacement

  • getBunkerStructurePlacement(structureType: string, anchor: object, level?: number): RoomPosition[]

Private getLayout

getObstacles

  • getObstacles(): RoomPosition[]

getStructureMapForBunkerAt

  • getStructureMapForBunkerAt(anchor: object, level?: number): StructureMap

init

  • init(): void

Private make

  • make(level?: number): void

Private mapFromPlan

Private nextNeededLinkAnchor

  • nextNeededLinkAnchor(): RoomPosition | undefined

Private parseLayout

Private placeStructure

  • placeStructure(type: StructureConstant, pos: RoomPosition): void

plannedStructurePositions

  • plannedStructurePositions(structureType: StructureConstant): RoomPosition[] | undefined

Private reactivate

  • reactivate(): void

Private recallMap

  • recallMap(level?: number): void

refresh

  • refresh(): void

Private removeMisplacedConstructionSites

  • removeMisplacedConstructionSites(): void

roadShouldBeHere

  • roadShouldBeHere(pos: RoomPosition): boolean

Private rotateComponent

  • rotateComponent(map: StructureMap, pivot: RoomPosition | Coord, angle: number): void

run

  • run(): void

shouldRecheck

  • shouldRecheck(offset?: number): boolean

structureShouldBeHere

  • structureShouldBeHere(structureType: StructureConstant, pos: RoomPosition, level?: number): boolean
  • Parameters

    • structureType: StructureConstant
    • pos: RoomPosition
    • Default value level: number = this.colony.controller.level

    Returns boolean

Private translateComponent

  • translateComponent(map: StructureMap, fromPos: RoomPosition | Coord, toPos: RoomPosition | Coord): void

visuals

  • visuals(): void

Static canBuild

  • canBuild(structureType: BuildableStructureConstant, pos: RoomPosition): boolean

Object literals

Static settings

settings: object

linkCheckFrequency

linkCheckFrequency: number = 100

maxDismantleCount

maxDismantleCount: number = 5

maxSitesPerColony

maxSitesPerColony: number = onPublicServer() ? 10 : 25

recheckAfter

recheckAfter: number = 50

siteCheckFrequency

siteCheckFrequency: number = onPublicServer() ? 300 : 100

Generated using TypeDoc