Skip to main content

Class: ConnectedSpaceMap<G>

Space element that has child Space elements with an adjacency relationship with each other. Only Spaces can be directly added to an AdjacencySpace. No adjacency is automically created with this class. Instead, each space adjacency is created manually with ConnectedSpaceMap#connect. This is useful for arbitrary adjacencies. See also SquareGrid, HexGrid for standard adjacency layouts.

Type parameters

NameType
Gextends BaseGame

Hierarchy

Adjacency

isAdjacent

isAdjacent(el1, el2): boolean

Returns whether 2 elements contained within this space have an adjacency to each other. The elements are considered adjacent if they are child Spaces that have been connected, or if the provided elements are placed inside such connected Spaces.

Parameters

NameType
el1GameElement<BaseGame, BasePlayer>
el2GameElement<BaseGame, BasePlayer>

Returns

boolean

Overrides

AdjacencySpace.isAdjacent

Defined in

boardzilla-core/src/board/connected-space-map.ts:41


connect

connect(space1, space2, distance?): void

Make these two Spaces adjacent. This creates a two-way adjacency relationship. If called twice with the Spaces reversed, different distances can be created for the adjacency in each direction.

Parameters

NameTypeDefault valueDescription
space1Space<G, NonNullable<G["player"]>>undefinedSpace to connect
space2Space<G, NonNullable<G["player"]>>undefinedSpace to connect
distancenumber1Add a custom distance to this connection for the purposes of distance-measuring. This distance is when measuring from space1 to space2.

Returns

void

Defined in

boardzilla-core/src/board/connected-space-map.ts:58


distanceBetween

distanceBetween(el1, el2): number

Finds the shortest distance between two elements using this space. Elements must be connected Spaces of this element or be elements inside such spaces.

Parameters

NameTypeDescription
el1GameElement<BaseGame, BasePlayer>GameElement to measure distance from
el2GameElement<BaseGame, BasePlayer>GameElement to measure distance to

Returns

number

shortest distance measured by the distance values added to each connection in connectTo

Defined in

boardzilla-core/src/board/connected-space-map.ts:84


allAdjacentTo

allAdjacentTo<F>(element, className, ...finders): ElementCollection<F>

Finds all elements of the query type given that are adjacent to the provided element, searching recursively through the adjacent Spaces. Uses the same query parameters as all.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
elementGameElement<BaseGame, BasePlayer>GameElement to measure distance from
classNameElementClass<F>Optionally provide a class as the first argument as a class filter. This will only match elements which are instances of the provided class
...findersElementFinder<F>[]All other parameters are filters. See ElementFinder for more information.

Returns

ElementCollection<F>

Defined in

boardzilla-core/src/board/connected-space-map.ts:113


allWithinDistanceOf

allWithinDistanceOf<F>(element, distance, className, ...finders): ElementCollection<F>

Finds all elements of the query type given that are within the provided distance from the provided element, searching recursively through the connected Spaces. This does not include the supplied element. Uses the same query parameters as all.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
elementGameElement<BaseGame, BasePlayer>GameElement to measure distance from
distancenumberDistance to measure using the adjacency distances
classNameElementClass<F>Optionally provide a class as the first argument as a class filter. This will only match elements which are instances of the provided class
...findersElementFinder<F>[]All other parameters are filters. See ElementFinder for more information.

Returns

ElementCollection<F>

Defined in

boardzilla-core/src/board/connected-space-map.ts:135


allConnectedTo

allConnectedTo<F>(element, className, ...finders): ElementCollection<F>

Finds all elements of the query type that are connected to the provided element by any path, searching recursively through the connected spaces. This includes the supplied element. This is useful for determining the size of a contiguous connected area. Uses the same query parameters as all.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
elementGameElement<BaseGame, BasePlayer>GameElement to measure distance from
classNameElementClass<F>Optionally provide a class as the first argument as a class filter. This will only match elements which are instances of the provided class
...findersElementFinder<F>[]All other parameters are filters. See ElementFinder for more information.

Returns

ElementCollection<F>

Defined in

boardzilla-core/src/board/connected-space-map.ts:163


closestTo

closestTo<F>(element, className, ...finders): undefined | F

Finds the nearest element of the query type given to the provided element, searching recursively through the connected Spaces.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
elementGameElement<BaseGame, BasePlayer>GameElement to measure distance from
classNameElementClass<F>Optionally provide a class as the first argument as a class filter. This will only match elements which are instances of the provided class
...findersElementFinder<F>[]All other parameters are filters. See ElementFinder for more information.

Returns

undefined | F

Defined in

boardzilla-core/src/board/connected-space-map.ts:186


isAdjacentTo

isAdjacentTo(element): boolean

If this element is adjacent to some other element, using the nearest containing space that has an adjacency map.

Parameters

NameType
elementGameElement<BaseGame, BasePlayer>

Returns

boolean

Inherited from

AdjacencySpace.isAdjacentTo

Defined in

boardzilla-core/src/board/element.ts:540


distanceTo

distanceTo(element): number

Finds the shortest distance between two spaces

Parameters

NameTypeDescription
elementGameElement<BaseGame, BasePlayer>element to measure distance to

Returns

number

Inherited from

AdjacencySpace.distanceTo

Defined in

boardzilla-core/src/board/element.ts:552


adjacencies

adjacencies<F>(className, ...finders): ElementCollection<F>

Find all elements adjacent based on row/column placement or based on this element having connections created by Space#connectTo. Uses the same parameters as GameElement#all

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

ElementCollection<F>

Inherited from

AdjacencySpace.adjacencies

Defined in

boardzilla-core/src/board/element.ts:564


withinDistance

withinDistance<F>(distance, className, ...finders): ElementCollection<F>

Finds all spaces connected to this space by a distance no more than distance

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
distancenumber
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

ElementCollection<F>

Inherited from

AdjacencySpace.withinDistance

Defined in

boardzilla-core/src/board/element.ts:578


setShape

setShape(...shape): void

Set an irregular shape for this element. This is only meaningful for the purposes of finding specifically adjacent cells when placed into a PieceGrid. See PieceGrid#adjacenciesByCell. When rendered in a PieceGrid, the element will have a size large enough to fill the appropriate number of spaces in the grid, but it's appearance is otherwise unaffected and will be based on appearance. When not rendered in a PieceGrid, the element will take up a single cell but will be scaled relatively to other elements with a shape in the same layout.

Parameters

NameTypeDescription
...shapestring[]A set of single characters used as labels for each cell. The cell label characters are provided as an array of strings, with each string being one row of cell labels, with spaces used to indicate empty "holes" in the shape. Each row must be the same length. The specific non-space characters used are used for labelling the adjacencies in PieceGrid#adjacenciesByCell but are otherwise unimportant.

Returns

void

Example

domino12.setShape(
'12'
);

tetrisPiece.setShape(
'XX ',
' XX'
);

Inherited from

AdjacencySpace.setShape

Defined in

boardzilla-core/src/board/element.ts:902


setEdges

setEdges(edges): void

Set the edge labels for this element. These are only meaningful for the purposes of finding specifically adjacent edges when placed into a PieceGrid. See PieceGrid#adjacenciesByEdge.

Parameters

NameTypeDescription
edgesPartial<Record<Direction, string>> | Record<string, Partial<Record<Direction, string>>>A set of edge labels for each cell label provided by setShape. For simple 1-celled shapes, the edges can be provided without cell labels.

Returns

void

Example

// a bridge tile with a road leading from left to right and a river leading
// from top to bottom.
simpleTile.setEdge(
up: 'river',
down: 'river',
left: 'road'
right: 'road'
});

// A tetris-shaped tile with sockets coming out either "end"
tetrisPiece.setShape(
'AX ',
' XB'
);
tetrisPiece.setEdge({
A: {
left: 'socket'
},
B: {
right: 'socket'
}
});

Inherited from

AdjacencySpace.setEdges

Defined in

boardzilla-core/src/board/element.ts:947

Other

layoutAsDrawer

layoutAsDrawer(applyTo, attributes): void

Creates a collapsible drawer layout for a Space within this Element. This is like GameElement#layout except for one specific Space, with additional parameters that set the behaviour/appearance of the drawer. A tab will be attached the drawer that will allow it be opened/closed.

Parameters

NameTypeDescription
applyTostring | Space<G, NonNullable<G["player"]>>The Space for the drawer. Either the Space itself or its name.
attributesObject-
attributes.area?Box-
attributes.openDirection"left" | "right" | "up" | "down"-
attributes.tab?ReactNode-
attributes.closedTab?ReactNode-
attributes.openIf?(actions: { name: string ; args: Record<string, Argument> }[]) => boolean-
attributes.closeIf?(actions: { name: string ; args: Record<string, Argument> }[]) => boolean-

Returns

void

Inherited from

AdjacencySpace.layoutAsDrawer

Defined in

boardzilla-core/src/board/element.ts:1157


layoutAsTabs

layoutAsTabs(tabs, attributes): void

Creates a tabbed layout for a set of Space's within this Element. This is like GameElement#layout except for a set of Spaces, with additional parameters that set the behaviour/appearance of the tabs. Each Space will be laid out into the same area, with a set of tabs attached to allow the Player or the game rules to select which tab is shown.

Parameters

NameTypeDescription
tabsRecord<string, string | Space<G, NonNullable<G["player"]>>>JSX for the appearance of the tabs as a set of key-value pairs
attributesObject-
attributes.area?Box-
attributes.tabDirection"left" | "right" | "up" | "down"-
attributes.tabs?Record<string, ReactNode>-
attributes.setTabTo?(actions: { name: string ; args: Record<string, Argument> }[]) => string-

Returns

void

Inherited from

AdjacencySpace.layoutAsTabs

Defined in

boardzilla-core/src/board/element.ts:1185


layoutAsPopout

layoutAsPopout(applyTo, attributes): void

Hides a Space within this element and replaces it with popout button. Clicking on the button opens this Space in a full-board modal. This is like GameElement#layout except for one Space, with additional parameters that set the behaviour/appearance of the popout modal.

Parameters

NameTypeDescription
applyTostring | Space<G, NonNullable<G["player"]>>The Space for the popout. Either a Space or the name of a Space.
attributesObject-
attributes.area?Box-
attributes.buttonReactNode-
attributes.popoutMargin?number | { top: number ; bottom: number ; left: number ; right: number }-

Returns

void

Inherited from

AdjacencySpace.layoutAsPopout

Defined in

boardzilla-core/src/board/element.ts:1213

Queries

name

name: string

Element name, used to distinguish elements. Elements with the same name are generally considered indistibuishable. Names are also used for easy searching of elements.

Inherited from

AdjacencySpace.name

Defined in

boardzilla-core/src/board/element.ts:241


player

Optional player: NonNullable<G["player"]>

Player with which this element is identified. This does not affect behaviour but will mark the element as mine in queries in the context of this player (during an action taken by a player or while the game is viewed by a given player.).

Inherited from

AdjacencySpace.player

Defined in

boardzilla-core/src/board/element.ts:250


all

all<F>(className, ...finders): ElementCollection<F>

Finds all elements within this element recursively that match the arguments provided.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
classNameElementClass<F>Optionally provide a class as the first argument as a class filter. This will only match elements which are instances of the provided class
...findersElementFinder<F>[]All other parameters are filters. See ElementFinder for more information.

Returns

ElementCollection<F>

An ElementCollection of as many matching elements as can be found. The collection is typed to ElementCollection<className> if one was provided.

Inherited from

AdjacencySpace.all

Defined in

boardzilla-core/src/board/element.ts:379


first

first<F>(className, ...finders): undefined | F

Finds the first element within this element recursively that matches the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

undefined | F

A matching element, if found

Inherited from

AdjacencySpace.first

Defined in

boardzilla-core/src/board/element.ts:391


firstN

firstN<F>(n, className, ...finders): ElementCollection<F>

Finds the first n elements within this element recursively that match the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
nnumbernumber of matches
classNameElementClass<F>-
...findersElementFinder<F>[]-

Returns

ElementCollection<F>

An ElementCollection of as many matching elements as can be found, up to n. The collection is typed to ElementCollection<className> if one was provided.

Inherited from

AdjacencySpace.firstN

Defined in

boardzilla-core/src/board/element.ts:407


last

last<F>(className, ...finders): undefined | F

Finds the last element within this element recursively that matches the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

undefined | F

A matching element, if found

Inherited from

AdjacencySpace.last

Defined in

boardzilla-core/src/board/element.ts:419


lastN

lastN<F>(n, className, ...finders): ElementCollection<F>

Finds the last n elements within this element recursively that match the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
nnumbernumber of matches
classNameElementClass<F>-
...findersElementFinder<F>[]-

Returns

ElementCollection<F>

An ElementCollection of as many matching elements as can be found, up to n. The collection is typed to ElementCollection<className> if one was provided.

Inherited from

AdjacencySpace.lastN

Defined in

boardzilla-core/src/board/element.ts:435


top

top<F>(className, ...finders): undefined | F

Alias for first

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

undefined | F

Inherited from

AdjacencySpace.top

Defined in

boardzilla-core/src/board/element.ts:446


topN

topN<F>(n, className, ...finders): ElementCollection<F>

Alias for firstN

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
nnumber
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

ElementCollection<F>

Inherited from

AdjacencySpace.topN

Defined in

boardzilla-core/src/board/element.ts:456


bottom

bottom<F>(className, ...finders): undefined | F

Alias for last

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

undefined | F

Inherited from

AdjacencySpace.bottom

Defined in

boardzilla-core/src/board/element.ts:466


bottomN

bottomN<F>(n, className, ...finders): ElementCollection<F>

Alias for lastN

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
nnumber
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

ElementCollection<F>

Inherited from

AdjacencySpace.bottomN

Defined in

boardzilla-core/src/board/element.ts:476


next

next<F>(this, ...finders): undefined | F

Finds next element in this element's Space of the same class that matches the arguments provided, e.g. the next card after this one in the same pile.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
thisF-
...findersElementFinder<F>[]any number of ElementFinder arguments to filter

Returns

undefined | F

Inherited from

AdjacencySpace.next

Defined in

boardzilla-core/src/board/element.ts:489


previous

previous<F>(this, ...finders): undefined | F

Finds previous element in this element's Space of the same class that matches the arguments provided, e.g. the previous card before this one in the same pile.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
thisF-
...findersElementFinder<F>[]any number of ElementFinder arguments to filter

Returns

undefined | F

Inherited from

AdjacencySpace.previous

Defined in

boardzilla-core/src/board/element.ts:502


others

others<F>(className, ...finders): ElementCollection<F>

Finds "sibling" elements (elements that are directly inside the parent of this element) that match the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

ElementCollection<F>

Inherited from

AdjacencySpace.others

Defined in

boardzilla-core/src/board/element.ts:513


has

has<F>(className, ...finders): boolean

Return whether any element within this element recursively matches the arguments provided. See all for parameter details.

Type parameters

NameType
Fextends GameElement<BaseGame, BasePlayer>

Parameters

NameType
classNameElementClass<F>
...findersElementFinder<F>[]

Returns

boolean

Inherited from

AdjacencySpace.has

Defined in

boardzilla-core/src/board/element.ts:525


container

container<T>(className?): undefined | T

Returns this elements parent.

Type parameters

NameType
Textends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
className?ElementClass<T>If provided, searches up the parent tree to find the first matching element. E.g. if a Token is placed on a Card in a players Tableau. calling token.container(Tableau) can be used to find the grandparent.

Returns

undefined | T

Inherited from

AdjacencySpace.container

Defined in

boardzilla-core/src/board/element.ts:611


containerWithProperty

containerWithProperty(property, value?): undefined | GameElement<BaseGame, BasePlayer>

Returns this elements containing element that also has a given property.

Parameters

NameType
propertystring
value?any

Returns

undefined | GameElement<BaseGame, BasePlayer>

Inherited from

AdjacencySpace.containerWithProperty

Defined in

boardzilla-core/src/board/element.ts:622


mine

get mine(): boolean

Whether this element belongs to the player viewing the game. A player is considered to be currently viewing the game if this is called in the context of an action taken by a given player (during an action taken by a player or while the game is viewed by a given player.) It is an error to call this method when not in the context of a player action. When querying for elements using ElementFinder such as all and first, mine is available as a search key that accepts a value of true/false

Returns

boolean

Inherited from

AdjacencySpace.mine

Defined in

boardzilla-core/src/board/element.ts:679

Structure

row

Optional row: number

Row of element within its layout grid if specified directly or by a "sticky" layout.

Inherited from

AdjacencySpace.row

Defined in

boardzilla-core/src/board/element.ts:257


column

Optional column: number

Column of element within its layout grid if specified directly or by a "sticky" layout.

Inherited from

AdjacencySpace.column

Defined in

boardzilla-core/src/board/element.ts:264


game

game: G

The Game to which this element belongs

Inherited from

AdjacencySpace.game

Defined in

boardzilla-core/src/board/element.ts:272


toString

toString(): string

String used for representng this element in game messages when the object is passed directly, e.g. when taking the choice directly from a chooseOnBoard choice.

Returns

string

Inherited from

AdjacencySpace.toString

Defined in

boardzilla-core/src/board/element.ts:351


setOrder

setOrder(order): void

Set this class to use a different ordering style.

Parameters

NameTypeDescription
orderundefined | "normal" | "stacking"ordering style - "normal": Elements placed into this element are put at the end of the list (default) - "stacking": Used primarily for stacks of cards. Elements placed into this element are put at the beginning of the list. E.g. if a stack of cards has order set to stacking the first method will return the last card placed in the stack, rather than the first one placed in the stack. Hidden items in the stack are not tracked or animated while reordered to prevent their identity from being exposed as they move

Returns

void

Inherited from

AdjacencySpace.setOrder

Defined in

boardzilla-core/src/board/element.ts:599


isEmpty

isEmpty(): boolean

Returns whether this element has no elements placed within it.

Returns

boolean

Inherited from

AdjacencySpace.isEmpty

Defined in

boardzilla-core/src/board/element.ts:633


sortBy

sortBy(key, direction?): ElementCollection<GameElement<G, NonNullable<G["player"]>>>

Sorts the elements directly contained within this element by some Sorter.

Parameters

NameType
keyGenericSorter | GenericSorter[]
direction?"desc" | "asc"

Returns

ElementCollection<GameElement<G, NonNullable<G["player"]>>>

Inherited from

AdjacencySpace.sortBy

Defined in

boardzilla-core/src/board/element.ts:641


shuffle

shuffle(): void

re-orders the elements directly contained within this element randomly.

Returns

void

Inherited from

AdjacencySpace.shuffle

Defined in

boardzilla-core/src/board/element.ts:649


owner

get owner(): undefined | P

The player that owns this element, or the first element that contains this element searching up through the parent hierarchy. This is related to, but different than player. E.g. if a standard playing card is in a player's hand, typically the hand.player will be assigned to that player but the card itself would not have a player. In this case the card.owner() will equal the player in whose hand the card is placed.

Returns

undefined | P

Inherited from

AdjacencySpace.owner

Defined in

boardzilla-core/src/board/element.ts:664


createMany

createMany<T>(n, className, name, attributes?): ElementCollection<T>

Create n elements inside this element of the same class. This can only be called during the game setup (see createGame. Any game elements that are required must be created before the game starts. Elements that only appear later in the game can be created inside the Game#pile or made invisible.

Type parameters

NameType
Textends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
nnumberNumber to create
classNameElementClass<T>Class to create. This class must be included in the elementClasses in createGame.
namestringSets name
attributes?Partial<Pick<T, "name" | "player" | "row" | "column" | "rotation" | { [K in string | number | symbol]: K extends keyof GameElement<BaseGame, BasePlayer> ? never : T[K] extends Function ? never : K }[keyof T]>> | (n: number) => Partial<Pick<T, "name" | "player" | "row" | "column" | "rotation" | { [K in string | number | symbol]: K extends keyof GameElement<BaseGame, BasePlayer> ? never : T[K] extends Function ? never : K }[keyof T]>>Sets any attributes of the class that are defined in your own class that extend Space, Piece, or Game. Can also include player. If a function is supplied here, a single number argument will be passed with the number of the added element, starting with 1.

Returns

ElementCollection<T>

Inherited from

AdjacencySpace.createMany

Defined in

boardzilla-core/src/board/element.ts:747


destroy

destroy(): void

Permanently remove an element. This can only be done while defining the game, and is usually only useful when creating groups of elements, such as createMany or createGrid where some of the created elements are not needed.

Returns

void

Inherited from

AdjacencySpace.destroy

Defined in

boardzilla-core/src/board/element.ts:774


rotation

get rotation(): number

Rotation of element if set, normalized to 0-359 degrees

Returns

number

Inherited from

AdjacencySpace.rotation

Defined in

boardzilla-core/src/board/element.ts:784


position

position(): number

Returns the index of this element within its parent, starting at zero

Returns

number

Inherited from

AdjacencySpace.position

Defined in

boardzilla-core/src/board/element.ts:797


isDescendantOf

isDescendantOf(el): boolean

Whether this element has the given element in its parent hierarchy

Parameters

NameType
elGameElement<BaseGame, BasePlayer>

Returns

boolean

Inherited from

AdjacencySpace.isDescendantOf

Defined in

boardzilla-core/src/board/element.ts:963


onEnter

onEnter<T>(type, callback): void

Attach a callback to this space for every element that enters or is created within.

Type parameters

NameType
Textends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
typeElementClass<T>the class of element that will trigger this callback
callback(el: T) => voidCallback will be called each time an element enters, with the entering element as the only argument.

Returns

void

Example

deck.onEnter(Card, card => card.hideFromAll()) // card placed in the deck are automatically turned face down

Inherited from

AdjacencySpace.onEnter

Defined in

boardzilla-core/src/board/space.ts:109


onExit

onExit<T>(type, callback): void

Attach a callback to this space for every element that is moved out of this space.

Type parameters

NameType
Textends GameElement<BaseGame, BasePlayer>

Parameters

NameTypeDescription
typeElementClass<T>the class of element that will trigger this callback
callback(el: T) => voidCallback will be called each time an element exits, with the exiting element as the only argument.

Returns

void

Example

deck.onExit(Card, card => card.showToAll()) // cards drawn from the deck are automatically turned face up

Inherited from

AdjacencySpace.onExit

Defined in

boardzilla-core/src/board/space.ts:125

UI

configureLayout

configureLayout(layoutConfiguration): void

Change the layout attributes for this space's layout.

Parameters

NameType
layoutConfigurationPartial<LayoutAttributes>

Returns

void

Inherited from

AdjacencySpace.configureLayout

Defined in

boardzilla-core/src/board/adjacency-space.ts:40


appearance

appearance(appearance): void

Define the appearance of this element. Any values provided override previous ones. See also ElementCollection#appearance

Parameters

NameTypeDescription
appearanceObjectPossible values are:
appearance.className?stringA class name to add to the dom element
appearance.render?false | (el: ConnectedSpaceMap<G>) => null | ElementA function that takes this element as its only argument and returns JSX for the element. See ../ui/appearance for more on usage.
appearance.aspectRatio?numberThe aspect ratio for this element. This value is a ratio of width over height. All layouts defined in layout will respect this aspect ratio.
appearance.effects?{ trigger: (element: ConnectedSpaceMap<G>, oldAttributes: Partial<Pick<ConnectedSpaceMap<G>, undefined | "name" | "player" | "row" | "column" | "rotation" | "_eventHandlers" | "_visOnEnter" | "_screen" | "_graph">>) => boolean ; name: string }[]Provides a CSS class that will be applied to this element if its attributes change to match the provided ones.
appearance.info?boolean | (el: ConnectedSpaceMap<G>) => null | boolean | ElementReturn JSX for more info on this element. If returning true, an info modal will be available for this element but with only the rendered element and no text
appearance.connections?ObjectIf the elements immediately within this element are connected using Space#connectTo, this makes those connections visible as connecting lines. Providing a label will place a label over top of this line by calling the provided function with the distance of the connection specified in Space#connectTo and using the retured JSX. If labelScale is provided, the label is scaled by this amount.
appearance.connections.thickness?number-
appearance.connections.style?"double" | "solid"-
appearance.connections.color?string-
appearance.connections.fill?string-
appearance.connections.label?(__namedParameters: { distance: number ; to: Space<Game<BaseGame, BasePlayer>, BasePlayer> ; from: Space<Game<BaseGame, BasePlayer>, BasePlayer> }) => ReactNode-
appearance.connections.labelScale?number-

Returns

void

Inherited from

AdjacencySpace.appearance

Defined in

boardzilla-core/src/board/element.ts:1267


layout

layout(): void

Single layout space can only contain elements of a certain type. Rather than adding multiple, overlapping layouts for different elements, there is a single layout that can be modified using configureLayout.

Returns

void

Inherited from

AdjacencySpace.layout

Defined in

boardzilla-core/src/board/single-layout.ts:26

Visibility

contentsWillBeShown

contentsWillBeShown(): void

Show pieces to all players when they enter this space

Returns

void

Inherited from

AdjacencySpace.contentsWillBeShown

Defined in

boardzilla-core/src/board/space.ts:35


contentsWillBeShownToOwner

contentsWillBeShownToOwner(): void

Show pieces when they enter this space to its owner

Returns

void

Inherited from

AdjacencySpace.contentsWillBeShownToOwner

Defined in

boardzilla-core/src/board/space.ts:43


contentsWillBeShownTo

contentsWillBeShownTo(...players): void

Show piece to these players when they enter this space

Parameters

NameType
...playersNonNullable<G["player"]>[]

Returns

void

Inherited from

AdjacencySpace.contentsWillBeShownTo

Defined in

boardzilla-core/src/board/space.ts:51


contentsWillBeHidden

contentsWillBeHidden(): void

Hide pieces to all players when they enter this space

Returns

void

Inherited from

AdjacencySpace.contentsWillBeHidden

Defined in

boardzilla-core/src/board/space.ts:59


contentsWillBeHiddenFrom

contentsWillBeHiddenFrom(...players): void

Hide piece to these players when they enter this space

Parameters

NameType
...playersNonNullable<G["player"]>[]

Returns

void

Inherited from

AdjacencySpace.contentsWillBeHiddenFrom

Defined in

boardzilla-core/src/board/space.ts:67


blockViewFor

blockViewFor(players): void

Call this to screen view completely from players. Blocked spaces completely hide their contents, like a physical screen. No information about the number, type or movement of contents inside this Space will be revealed to the specified players

Parameters

NameTypeDescription
players"all" | "none" | Player<BaseGame, BasePlayer>[] | "all-but-owner"= Players for whom the view is blocked

Returns

void

Inherited from

AdjacencySpace.blockViewFor

Defined in

boardzilla-core/src/board/space.ts:80