Options
All
  • Public
  • Public/Protected
  • All
Menu

Class TerminalNetwork

The terminal network controls inter-colony resource transfers and requests, equalizing resources between rooms and responding to on-demand resource requests

Hierarchy

  • TerminalNetwork

Implements

  • ITerminalNetwork

Index

Constructors

constructor

Properties

allTerminals

allTerminals: StructureTerminal[]

Private alreadyReceived

alreadyReceived: StructureTerminal[]

Private alreadySent

alreadySent: StructureTerminal[]

assets

assets: object

Type declaration

  • [resourceType: string]: number

Private averageFullness

averageFullness: number

Private cache

cache: object

Type declaration

exceptionTerminals

exceptionTerminals: object

Type declaration

  • [terminalID: string]: TerminalState

memory

memory: TerminalNetworkMemory

Private notifications

notifications: string[]

readyTerminals

readyTerminals: StructureTerminal[]

stats

stats: TerminalNetworkStats

terminals

terminals: StructureTerminal[]

Methods

Private energyInRoom

  • energyInRoom(room: Room): number

Private equalize

  • equalize(resourceType: ResourceConstant, terminals?: StructureTerminal[], verbose?: boolean): void
  • Parameters

    • resourceType: ResourceConstant
    • Default value terminals: StructureTerminal[] = this.terminals
    • Default value verbose: boolean = false

    Returns void

Private equalizeCycle

  • equalizeCycle(): void

Private getAllAssets

  • getAllAssets(): object

Private handleExcess

  • handleExcess(terminal: StructureTerminal, threshold?: number): void

Private handleTerminalState

  • handleTerminalState(terminal: StructureTerminal, state: TerminalState): void

init

  • init(): void

Private logTransfer

  • logTransfer(resourceType: ResourceConstant, amount: number, origin: string, destination: string): void

Private logTransferCosts

  • logTransferCosts(amount: number, origin: string, destination: string): void

Private notify

  • notify(msg: string): void

refresh

  • refresh(): void

registerTerminalState

  • registerTerminalState(terminal: StructureTerminal, state: TerminalState): void

Private remainingRoomCapacity

  • remainingRoomCapacity(room: Room): number

requestResource

  • requestResource(receiver: StructureTerminal, resourceType: ResourceConstant, amount: number, allowBuy?: boolean, minDifference?: number): void
  • Parameters

    • receiver: StructureTerminal
    • resourceType: ResourceConstant
    • amount: number
    • Default value allowBuy: boolean = true
    • Default value minDifference: number = 4000

    Returns void

run

  • run(): void

Private terminalNeedsEnergy

  • terminalNeedsEnergy(terminal: StructureTerminal): boolean

Private transfer

  • transfer(sender: StructureTerminal, receiver: StructureTerminal, resourceType: ResourceConstant, amount: number, description: string): number
  • Parameters

    • sender: StructureTerminal
    • receiver: StructureTerminal
    • resourceType: ResourceConstant
    • amount: number
    • description: string

    Returns number

Object literals

Static settings

settings: object

equalize

equalize: object

frequency

frequency: number = 2 * (TERMINAL_COOLDOWN + 1)

maxEnergySendSize

maxEnergySendSize: number = 25000

maxMineralSendSize

maxMineralSendSize: number = 5000

resources

resources: ("power" | "U" | "L" | "K" | "Z" | "O" | "H" | "X" | "energy")[] = [RESOURCE_ENERGY,RESOURCE_POWER,RESOURCE_CATALYST,RESOURCE_ZYNTHIUM,RESOURCE_LEMERGIUM,RESOURCE_KEANIUM,RESOURCE_UTRIUM,RESOURCE_OXYGEN,RESOURCE_HYDROGEN,]

tolerance

tolerance: object = {[RESOURCE_ENERGY]: 150000,[RESOURCE_POWER] : 2000,default : 5000} as { [resourceType: string]: number }

Type declaration

  • [resourceType: string]: number

Generated using TypeDoc