Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Tower

A tower in the game. Used to combat enemy waves.

Hierarchy

Implements

  • IBaseGameObject

Index

Properties

attacked

attacked: boolean

Whether this tower has attacked this turn or not.

cooldown

cooldown: number

How many turns are left before it can fire again.

gameObjectName

gameObjectName: string

String representing the top level Class that this game object is an instance of. Used for reflection to create new instances on clients, but exposed for convenience should AIs want this data.

health

health: number

How much remaining health this tower has.

id

id: string

A unique id for each instance of a GameObject or a sub class. Used for client and server communication. Should never change value after being set.

job

What type of tower this is (it's job).

logs

logs: string[]

Any strings logged will be stored here. Intended for debugging.

owner

owner: Player | undefined

The player that built / owns this tower.

tile

tile: Tile

The Tile this Tower is on.

Methods

attack

  • attack(tile: Tile): Promise<boolean>
  • Attacks an enemy unit on an tile within it's range.

    Parameters

    • tile: Tile

      The Tile to attack.

    Returns Promise<boolean>

    True if successfully attacked, false otherwise.

log

  • log(message: string): Promise<void>
  • Adds a message to this GameObject's logs. Intended for your own debugging purposes, as strings stored here are saved in the gamelog.

    Parameters

    • message: string

      A string to add to this GameObject's log. Intended for debugging.

    Returns Promise<void>

toString

  • toString(): string
  • A toString override for easier debugging.

    example

    String(gameObject); 🠞 "GameObjectName #1245"

    Returns string

    A human readable representation of the game object.

Generated using TypeDoc