Skip to main content

IsometricTile

An Entity is the base type of anything that can have behavior in Excalibur, they are part of the built in entity component system

Entities can be strongly typed with the components they contain

const entity = new Entity<ComponentA | ComponentB>();
entity.components.a; // Type ComponentA
entity.components.b; // Type ComponentB

Hierarchy

Index

Constructors

constructor

  • Construct a new IsometricTile


    Parameters

    • x: number

      tile coordinate in x (not world position)

    • y: number

      tile coordinate in y (not world position)

    • graphicsOffset: Vector | null

      offset that tile should be shifted by (default (0, 0))

    • map: IsometricMap

      reference to owning IsometricMap

    Returns IsometricTile

Properties

publicinherited_componentsToRemove

_componentsToRemove: ComponentCtor[] = []

publicinheritedchildrenAdded$

childrenAdded$: Observable<Entity<any>> = ...

publicinheritedchildrenRemoved$

childrenRemoved$: Observable<Entity<any>> = ...

publicinheritedcomponentAdded$

componentAdded$: Observable<Component> = ...

publicinheritedcomponentRemoved$

componentRemoved$: Observable<Component> = ...

publicreadonlyinheritedcomponents

components: Map<Function, Component> = ...

Current components on the entity

Do not modify

Use addComponent/removeComponent otherwise the ECS will not be notified of changes.

publicinheritedcomponentValues

componentValues: Component[] = []

publicdata

data: Map<string, any> = ...

Arbitrary data storage per tile, useful for any game specific data

publicevents

Listen to or emit events for an entity

publicinheritedid

id: number = ...

The unique identifier for the entity

publicinheritedisActive

isActive: boolean = true

Whether this entity is active, if set to false it will be reclaimed

publicreadonlymap

Reference to the IsometricMap this tile is part of

publicinheritedname

name: string = ...

publicinheritedscene

scene: Scene<unknown> | null = null

The current scene that the entity is in, if any

publicsolid

solid: boolean = false

Indicates whether this tile is solid

publicinheritedtagAdded$

tagAdded$: Observable<string> = ...

publicinheritedtagRemoved$

tagRemoved$: Observable<string> = ...

publicreadonlyx

x: number

Integer tile x coordinate

publicreadonlyy

y: number

Integer tile y coordinate

Accessors

publicinheritedactive

  • get active(): boolean
  • set active(val: boolean): void
  • Whether this entity is active, if set to false it will be reclaimed

    @deprecated

    use isActive


    Returns boolean

  • Whether this entity is active, if set to false it will be reclaimed

    @deprecated

    use isActive


    Parameters

    • val: boolean

    Returns void

publiccenter

publicinheritedchildren

  • get children(): readonly Entity<any>[]
  • Get the direct children of this entity


    Returns readonly Entity<any>[]

publicinheritedisAdded

  • get isAdded(): boolean
  • Returns boolean

publicinheritedisInitialized

  • get isInitialized(): boolean
  • Gets whether the actor is Initialized


    Returns boolean

publicinheritedparent

  • get parent(): Entity<any> | null
  • Returns Entity<any> | null

publicpos

publicinheritedtags

  • get tags(): Set<string>
  • Specifically get the tags on the entity from TagsComponent


    Returns Set<string>

publicinheritedtypes

  • The types of the components on the Entity


    Returns ComponentCtor[]

Methods

publicinheritedaddChild

  • Adds an entity to be a child of this entity


    Parameters

    Returns Entity

publicaddCollider

  • Adds a collider to the IsometricTile

    Note! the Tile.solid must be set to true for it to act as a "fixed" collider


    Parameters

    Returns void

publicinheritedaddComponent

  • addComponent<TComponent>(component: TComponent, force?: boolean): Entity<any>
  • Adds a component to the entity


    Type parameters

    Parameters

    • component: TComponent

      Component or Entity to add copy of components from

    • force: boolean = false

      Optionally overwrite any existing components of the same type

    Returns Entity<any>

publicaddGraphic

  • addGraphic(graphic: Graphic, options?: { offset?: Vector }): void
  • Tile graphics


    Parameters

    Returns void

publicinheritedaddTag

  • addTag(tag: string): Entity<any>
  • Adds a tag to an entity


    Parameters

    • tag: string

    Returns Entity<any>

publicinheritedaddTemplate

  • addTemplate(templateEntity: Entity, force?: boolean): Entity
  • Adds a copy of all the components from another template entity as a "prefab"


    Parameters

    • templateEntity: Entity

      Entity to use as a template

    • force: boolean = false

      Force component replacement if it already exists on the target entity

    Returns Entity

publicclearColliders

  • clearColliders(): void
  • Clears all colliders from the IsometricTile


    Returns void

publicinheritedclearComponents

  • clearComponents(): void
  • Returns void

publicclearGraphics

  • clearGraphics(): void
  • Returns void

publicinheritedclone

  • Creates a deep copy of the entity and a copy of all its components


    Returns Entity

draw

publicinheritedemit

  • emit<TEventName>(eventName: TEventName, event: EntityEvents[TEventName]): void
  • emit(eventName: string, event?: any): void

inheritedget

publicinheritedgetAncestors

  • Returns a list of parent entities starting with the topmost parent. Includes the current entity.


    Returns Entity<any>[]

publicgetColliders

publicinheritedgetComponents

  • Returns all component instances on entity


    Returns Component[]

publicinheritedgetDescendants

  • getDescendants(): Entity<any>[]
  • Returns a list of all the entities that descend from this entity. Includes the current entity.


    Returns Entity<any>[]

publicgetGraphics

publicinheritedhas

  • Check if a component type exists


    Type parameters

    Parameters

    Returns boolean

inheritedhasAll

  • hasAll<TComponent>(requiredTypes: ComponentCtor<TComponent>[]): boolean
  • Verifies that an entity has all the required types


    Type parameters

    Parameters

    Returns boolean

inheritedhasAllTags

  • hasAllTags(requiredTags: string[]): boolean
  • Verifies that an entity has all the required tags


    Parameters

    • requiredTags: string[]

    Returns boolean

publicinheritedhasChild

  • hasChild(child: Entity, recursive?: boolean): boolean
  • Check if a child entity exists on the parent entity


    Parameters

    • child: Entity

      entity to check for

    • recursive: boolean = false

      whether to check recursively

    Returns boolean

publicinheritedhasTag

  • hasTag(tag: string): boolean
  • Check if a tag exists on the entity


    Parameters

    • tag: string

      name to check for

    Returns boolean

publicinheritedisKilled

  • isKilled(): boolean
  • Returns boolean

publicinheritedkill

  • kill(): void
  • Kill the entity, means it will no longer be updated. Kills are deferred to the end of the update. If parented it will be removed from the parent when killed.


    Returns void

publicinheritedoff

  • off<TEventName>(eventName: TEventName, handler: Handler<EntityEvents[TEventName]>): void
  • off(eventName: string, handler: Handler<unknown>): void
  • off(eventName: string): void

publicinheritedon

publicinheritedonAdd

  • onAdd is called when Actor is added to scene. This method is meant to be overridden.

    Synonymous with the event handler .on('add', (evt) => {...})


    Parameters

    Returns void

publicinheritedonce

publicinheritedonInitialize

  • onInitialize(engine: Engine): void
  • onInitialize is called before the first update of the entity. This method is meant to be overridden.

    Synonymous with the event handler .on('initialize', (evt) => {...})


    Parameters

    Returns void

publicinheritedonPostUpdate

  • onPostUpdate(engine: Engine, elapsed: number): void
  • Safe to override onPostUpdate lifecycle event handler. Synonymous with .on('postupdate', (evt) =>{...})

    onPostUpdate is called directly after an entity is updated.


    Parameters

    Returns void

publicinheritedonPreUpdate

  • onPreUpdate(engine: Engine, elapsed: number): void
  • Safe to override onPreUpdate lifecycle event handler. Synonymous with .on('preupdate', (evt) =>{...})

    onPreUpdate is called directly before an entity is updated.


    Parameters

    Returns void

publicinheritedonRemove

  • onRemove(engine: Engine): void
  • onRemove is called when Actor is removed from a scene. This method is meant to be overridden.

    Synonymous with the event handler .on('remove', (evt) => {...})


    Parameters

    Returns void

publicinheritedremoveAllChildren

  • Removes all children from this entity


    Returns Entity

publicinheritedremoveChild

  • Remove an entity from children if it exists


    Parameters

    Returns Entity

publicremoveCollider

  • removeCollider(collider: Collider): void
  • Removes a collider from the IsometricTile


    Parameters

    Returns void

publicinheritedremoveComponent

  • removeComponent<TComponent>(typeOrInstance: TComponent | ComponentCtor<TComponent>, force?: boolean): Entity<Exclude<any, TComponent>>
  • Removes a component from the entity, by default removals are deferred to the end of entity update to avoid consistency issues

    Components can be force removed with the force flag, the removal is not deferred and happens immediately


    Type parameters

    Parameters

    • typeOrInstance: TComponent | ComponentCtor<TComponent>
    • force: boolean = false

    Returns Entity<Exclude<any, TComponent>>

publicremoveGraphic

  • removeGraphic(graphic: Graphic): void
  • Parameters

    Returns void

publicinheritedremoveTag

  • removeTag(tag: string): Entity<any>
  • Removes a tag on the entity

    Removals are deferred until the end of update


    Parameters

    • tag: string

    Returns Entity<any>

publicinheritedunparent

  • unparent(): void
  • Unparents this entity, if there is a parent. Otherwise it does nothing.


    Returns void