import{_ as e,c as t,o as a,N as r}from"./chunks/framework.0799945b.js";const u=JSON.parse('{"title":"Module: game/layers","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"api/modules/game/layers.md","lastUpdated":null}'),o={name:"api/modules/game/layers.md"},d=r('
Ƭ GenericLayer: Replace
<Layer
<LayerOptions
>, { minWidth
: ProcessedComputable
<number
> ; minimizable
: ProcessedComputable
<boolean
> ; name
: ProcessedComputable
<string
> }>
A type that matches any valid Layer object.
profectus/src/game/layers.tsx:184
Ƭ Layer<T
>: Replace
<T
& BaseLayer
, { classes
: GetComputableType
<T
["classes"
]> ; color
: GetComputableType
<T
["color"
]> ; display
: GetComputableType
<T
["display"
]> ; forceHideGoBack
: GetComputableType
<T
["forceHideGoBack"
]> ; minWidth
: GetComputableTypeWithDefault
<T
["minWidth"
], 600
> ; minimizable
: GetComputableTypeWithDefault
<T
["minimizable"
], true
> ; minimizedDisplay
: GetComputableType
<T
["minimizedDisplay"
]> ; name
: GetComputableTypeWithDefault
<T
["name"
], string
> ; style
: GetComputableType
<T
["style"
]> }>
An unit of game content. Displayed to the user as a tab or modal.
Name | Type |
---|---|
T | extends LayerOptions |
profectus/src/game/layers.tsx:168
• Const
BoundsInjectionKey: InjectionKey
<Ref
<DOMRect
| undefined
>>
An injection key that a ContextComponent will use to provide a ref to a bounding rect of the Context.
profectus/src/game/layers.tsx:52
• Const
NodesInjectionKey: InjectionKey
<Ref
<Record
<string
, FeatureNode
| undefined
>>>
An injection key that a ContextComponent will use to provide a ref to a map of all currently registered FeatureNodes.
profectus/src/game/layers.tsx:47
• Const
RegisterNodeInjectionKey: InjectionKey
<(id
: string
, element
: HTMLElement
) => void
>
An injection key that a ContextComponent will use to provide a function that registers a FeatureNode with the given id and HTML element.
profectus/src/game/layers.tsx:37
• Const
UnregisterNodeInjectionKey: InjectionKey
<(id
: string
) => void
>
An injection key that a ContextComponent will use to provide a function that unregisters a FeatureNode with the given id.
profectus/src/game/layers.tsx:42
• Const
addingLayers: string
[] = []
When creating layers, this array stores the layers currently being created, as a stack.
profectus/src/game/layers.tsx:200
• Const
layers: Record
<string
, Readonly
<GenericLayer
> | undefined
>
A reference to all the current layers. It is shallow reactive so it will update when layers are added or removed, but not interfere with the existing refs within each layer.
profectus/src/game/layers.tsx:77
• Const
persistentRefs: Record
<string
, Set
<Persistent
>> = {}
When creating layers, this object a map of layer ID to a set of any created persistent refs in order to check they're all included in the final layer object.
profectus/src/game/layers.tsx:196
▸ addLayer(layer
, player
): void
Enables a layer object, so it will be updated every tick. Note that accessing a layer/its properties does NOT require it to be enabled. For dynamic layers you can call this function and removeLayer as necessary. Just make sure getInitialLayers will provide an accurate list of layers based on the player data object. For static layers just make getInitialLayers return all the layers.
Name | Type | Description |
---|---|---|
layer | GenericLayer | The layer to add. |
player | Object | The player data object, which will have a data object for this layer. |
player.layers? | Record <string , Record <string , unknown >> | - |
void
profectus/src/game/layers.tsx:284
▸ createLayer<T
>(id
, optionsFunc
): Layer
<T
>
Lazily creates a layer with the given options.
Name | Type |
---|---|
T | extends LayerOptions |
Name | Type | Description |
---|---|---|
id | string | The ID this layer will have. See id. |
optionsFunc | OptionsFunc <T , BaseLayer , BaseLayer > | Layer options. |
Layer
<T
>
profectus/src/game/layers.tsx:206
▸ getLayer<T
>(layerID
): T
Convenience method for getting a layer by its ID with correct typing.
Name | Type |
---|---|
T | extends GenericLayer |
Name | Type | Description |
---|---|---|
layerID | string | The ID of the layer to get. |
T
profectus/src/game/layers.tsx:311
▸ reloadLayer(layer
): void
Convenience method for removing and immediately re-adding a layer. This is useful for layers with dynamic content, to ensure persistent refs are correctly configured.
Name | Type | Description |
---|---|---|
layer | GenericLayer | Layer to remove and then re-add |
void
profectus/src/game/layers.tsx:332
▸ removeLayer(layer
): void
Disables a layer, so it will no longer be updated every tick. Note that accessing a layer/its properties does NOT require it to be enabled.
Name | Type | Description |
---|---|---|
layer | GenericLayer | The layer to remove. |
void
profectus/src/game/layers.tsx:320
▸ setupLayerModal(layer
): Object
Utility function for creating a modal that display's a display. Returns the modal itself, which can be rendered anywhere you need, as well as a function to open the modal.
Name | Type | Description |
---|---|---|
layer | GenericLayer | The layer to display in the modal. |
Object
Name | Type |
---|---|
modal | JSXFunction |
openModal | VoidFunction |