Class: HexGrid<G>
A Hex grid. Create the HexGrid with 'rows' and 'columns' values to automatically create the spaces. Optionally use shape and axes to customize the type of hex.
Example
game.create(HexGrid, 'catan-board', { rows: 5, columns: 5, shape: 'hex' })
Type parameters
Name | Type |
---|---|
G | extends Game |
Hierarchy
-
FixedGrid
<G
>↳
HexGrid
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
Name | Type |
---|---|
el1 | GameElement <BaseGame , BasePlayer > |
el2 | GameElement <BaseGame , BasePlayer > |
Returns
boolean
Inherited from
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
Name | Type | Default value | Description |
---|---|---|---|
space1 | Space <G , NonNullable <G ["player" ]>> | undefined | Space to connect |
space2 | Space <G , NonNullable <G ["player" ]>> | undefined | Space to connect |
distance | number | 1 | Add a custom distance to this connection for the purposes of distance-measuring. This distance is when measuring from space1 to space2. |
Returns
void
Inherited from
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
Name | Type | Description |
---|---|---|
el1 | GameElement <BaseGame , BasePlayer > | GameElement to measure distance from |
el2 | GameElement <BaseGame , BasePlayer > | GameElement to measure distance to |
Returns
number
shortest distance measured by the distance
values added to each
connection in connectTo
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
element | GameElement <BaseGame , BasePlayer > | GameElement to measure distance from |
className | ElementClass <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 |
...finders | ElementFinder <F >[] | All other parameters are filters. See ElementFinder for more information. |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
element | GameElement <BaseGame , BasePlayer > | GameElement to measure distance from |
distance | number | Distance to measure using the adjacency distances |
className | ElementClass <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 |
...finders | ElementFinder <F >[] | All other parameters are filters. See ElementFinder for more information. |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
element | GameElement <BaseGame , BasePlayer > | GameElement to measure distance from |
className | ElementClass <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 |
...finders | ElementFinder <F >[] | All other parameters are filters. See ElementFinder for more information. |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
element | GameElement <BaseGame , BasePlayer > | GameElement to measure distance from |
className | ElementClass <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 |
...finders | ElementFinder <F >[] | All other parameters are filters. See ElementFinder for more information. |
Returns
undefined
| F
Inherited from
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
Name | Type |
---|---|
element | GameElement <BaseGame , BasePlayer > |
Returns
boolean
Inherited from
Defined in
boardzilla-core/src/board/element.ts:540
distanceTo
▸ distanceTo(element
): number
Finds the shortest distance between two spaces
Parameters
Name | Type | Description |
---|---|---|
element | GameElement <BaseGame , BasePlayer > | element to measure distance to |
Returns
number
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
distance | number |
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
Inherited from
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
Name | Type | Description |
---|---|---|
...shape | string [] | 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
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
Name | Type | Description |
---|---|---|
edges | Partial <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
Defined in
boardzilla-core/src/board/element.ts:947
axes
• axes: "east-by-southwest"
| "east-by-southeast"
| "southeast-by-south"
| "northeast-by-south"
= 'east-by-southwest'
Determines which direction the rows and columns go within the hex. E.g. with east-by-southwest axes, The cell at {row: 1, column: 2} is directly east of {row: 1, column: 1}. The cell at {row: 2, column: 1} is directly southwest of {row: 1, column: 1}.
Defined in
boardzilla-core/src/board/hex-grid.ts:25
shape
• shape: "square"
| "rhomboid"
| "hex"
= 'rhomboid'
Determines the overall shape of the spaces created.
rhomboid - A rhomboid shape. This means a cell will exist at every row and column combination. A 3x3 rhomboid hex contains 9 cells.
hex - A hex shape. This means the hex will be at most row x columns but will be missing cells at the corners. A 3x3 hex shape contains 7 cells.
square - A square shape. This means the hex will be at most row x columns but will be shaped to keep a square shape. Some cells will therefore have a column value outside the range of columns. A 3x3 square hex contains 8 cells, 3 on each side, and two in the middle.
Defined in
boardzilla-core/src/board/hex-grid.ts:41
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
Name | Type | Description |
---|---|---|
applyTo | string | Space <G , NonNullable <G ["player" ]>> | The Space for the drawer. Either the Space itself or its name. |
attributes | Object | - |
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
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
Name | Type | Description |
---|---|---|
tabs | Record <string , string | Space <G , NonNullable <G ["player" ]>>> | JSX for the appearance of the tabs as a set of key-value pairs |
attributes | Object | - |
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
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
Name | Type | Description |
---|---|---|
applyTo | string | Space <G , NonNullable <G ["player" ]>> | The Space for the popout. Either a Space or the name of a Space. |
attributes | Object | - |
attributes.area? | Box | - |
attributes.button | ReactNode | - |
attributes.popoutMargin? | number | { top : number ; bottom : number ; left : number ; right : number } | - |
Returns
void
Inherited from
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
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
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
className | ElementClass <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 |
...finders | ElementFinder <F >[] | All other parameters are filters. See ElementFinder for more information. |
Returns
An ElementCollection of as many matching elements as can be
found. The collection is typed to ElementCollection<className>
if one was
provided.
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
undefined
| F
A matching element, if found
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
n | number | number of matches |
className | ElementClass <F > | - |
...finders | ElementFinder <F >[] | - |
Returns
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
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
undefined
| F
A matching element, if found
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
n | number | number of matches |
className | ElementClass <F > | - |
...finders | ElementFinder <F >[] | - |
Returns
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
Defined in
boardzilla-core/src/board/element.ts:435
top
▸ top<F
>(className
, ...finders
): undefined
| F
Alias for first
Type parameters
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
undefined
| F
Inherited from
Defined in
boardzilla-core/src/board/element.ts:446
topN
▸ topN<F
>(n
, className
, ...finders
): ElementCollection
<F
>
Alias for firstN
Type parameters
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
n | number |
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
Inherited from
Defined in
boardzilla-core/src/board/element.ts:456
bottom
▸ bottom<F
>(className
, ...finders
): undefined
| F
Alias for last
Type parameters
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
undefined
| F
Inherited from
Defined in
boardzilla-core/src/board/element.ts:466
bottomN
▸ bottomN<F
>(n
, className
, ...finders
): ElementCollection
<F
>
Alias for lastN
Type parameters
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
n | number |
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
this | F | - |
...finders | ElementFinder <F >[] | any number of ElementFinder arguments to filter |
Returns
undefined
| F
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
this | F | - |
...finders | ElementFinder <F >[] | any number of ElementFinder arguments to filter |
Returns
undefined
| F
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
Inherited from
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
Name | Type |
---|---|
F | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type |
---|---|
className | ElementClass <F > |
...finders | ElementFinder <F >[] |
Returns
boolean
Inherited from
Defined in
boardzilla-core/src/board/element.ts:525
container
▸ container<T
>(className?
): undefined
| T
Returns this elements parent.
Type parameters
Name | Type |
---|---|
T | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
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
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
Name | Type |
---|---|
property | string |
value? | any |
Returns
undefined
| GameElement
<BaseGame
, BasePlayer
>
Inherited from
FixedGrid.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
FixedGrid.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
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
Defined in
boardzilla-core/src/board/element.ts:264
game
• game: G
The Game to which this element belongs
Inherited from
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
Defined in
boardzilla-core/src/board/element.ts:351
setOrder
▸ setOrder(order
): void
Set this class to use a different ordering style.
Parameters
Name | Type | Description |
---|---|---|
order | undefined | "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
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
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
Name | Type |
---|---|
key | GenericSorter | GenericSorter [] |
direction? | "desc" | "asc" |
Returns
ElementCollection
<GameElement
<G
, NonNullable
<G
["player"
]>>>
Inherited from
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
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
FixedGrid.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
Name | Type |
---|---|
T | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
n | number | Number to create |
className | ElementClass <T > | Class to create. This class must be included in the elementClasses in createGame. |
name | string | Sets 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
Inherited from
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
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
FixedGrid.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
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
Name | Type |
---|---|
el | GameElement <BaseGame , BasePlayer > |
Returns
boolean
Inherited from
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
Name | Type |
---|---|
T | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
type | ElementClass <T > | the class of element that will trigger this callback |
callback | (el : T ) => void | Callback 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
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
Name | Type |
---|---|
T | extends GameElement <BaseGame , BasePlayer > |
Parameters
Name | Type | Description |
---|---|---|
type | ElementClass <T > | the class of element that will trigger this callback |
callback | (el : T ) => void | Callback 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
Defined in
boardzilla-core/src/board/space.ts:125
UI
configureLayout
▸ configureLayout(layoutConfiguration
): void
Change the layout attributes for this space's layout.
Parameters
Name | Type |
---|---|
layoutConfiguration | Partial <LayoutAttributes > |
Returns
void
Inherited from
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
Name | Type | Description |
---|---|---|
appearance | Object | Possible values are: |
appearance.className? | string | A class name to add to the dom element |
appearance.render? | false | (el : HexGrid <G >) => null | Element | A function that takes this element as its only argument and returns JSX for the element. See ../ui/appearance for more on usage. |
appearance.aspectRatio? | number | The 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 : HexGrid <G >, oldAttributes : Partial <Pick <HexGrid <G >, undefined | "name" | "columns" | "player" | "row" | "column" | "rotation" | "rows" | "_eventHandlers" | "_visOnEnter" | "_screen" | "space" | "shape" | "_graph" | "axes" >>) => 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 : HexGrid <G >) => null | boolean | Element | Return 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? | Object | If 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
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
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
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
FixedGrid.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
Name | Type |
---|---|
...players | NonNullable <G ["player" ]>[] |
Returns
void
Inherited from
FixedGrid.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
FixedGrid.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
Name | Type |
---|---|
...players | NonNullable <G ["player" ]>[] |
Returns
void
Inherited from
FixedGrid.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
Name | Type | Description |
---|---|---|
players | "all" | "none" | Player <BaseGame , BasePlayer >[] | "all-but-owner" | = Players for whom the view is blocked |
Returns
void