Home › Systems › AFS_UI_Navigation
System

AFS_UI_Navigation

What it gives you

—

Requires

AFL_Libraries AFM_CameraFade AFS_Core_Loading AFS_UI

Required by

AF_Examples

6 assets9 API members
Note

Narrative documentation for this module is still being written. The API reference below is complete.

API reference

Every blueprint asset in this module. Expand an asset to see its members.

Blueprints

BP_Navigation2 members
extends Actor · implements OutsidePawnRPCInterface

Navigation kiosk: a widget component floating 160 cm up showing the navigation panel, so a player can walk over and travel to another showroom level. Switch Level hands straight to a server event that runs the loading module's level switch, so the whole session travels together. Drop one into a level, or let the floor place it through its Navigation slot.

KindNameSignatureDescription
eventSwitchLevel(Level: PDA_Level_Showroom)Asks for travel to another showroom level from the kiosk actor itself, handing the data asset straight to the server event. The kiosk's own panel goes through the navigation component on the game state instead, so nothing calls this as it stands; it is here for a level blueprint or a subclass of your own.
eventServer_SwitchLevel(Level: PDA_Level_Showroom)Server event running the loading module's level switch: every player controller fades to black over half a second, then the server travels the whole session to the map named by the data asset with its game mode appended. In the editor it opens the map locally instead. The actor implements the outside pawn RPC marker, which is what lets a placed actor call a server event.

Components

BPC_GameState_Navigation2 members
extends ActorComponent · implements OutsidePawnRPCInterface

Game state component holding the showroom's level list: the lobby data asset and the grouped pages of levels the navigation widgets read. Its Switch Level forwards to a server event so any widget can request travel without owning a connection. Add it to your own game state to reuse the showroom's level browser; the showroom game state already carries one.

KindNameSignatureDescription
eventSwitchLevel(Level: PDA_Level_Showroom)Asks for travel to another showroom level. Called by the navigation panels once a level card or the Lobby button has been confirmed; it does nothing itself beyond handing the data asset to the server event, so a client may raise it freely.
eventServer_SwitchLevel(Level: PDA_Level_Showroom)Server event running the loading module's level switch: every player controller fades to black over half a second, then the server travels the whole session to the map named by the data asset with its game mode appended. In the editor it opens the map locally instead. The component implements the outside pawn RPC marker, which is what allows a game state component to call a server event at all.

DataAssets

PDA_Level_Showroom0 members
extends PDA_Level

Level data asset for a level reachable from the navigation kiosk. Adds the description and the two images, square and banner, that the navigation cards display. It presets nothing else: set the pawns and streaming maps on each level asset, and leave Game Mode empty to use the persistent map's World Settings. Make one per level you want reachable from the kiosk and list it in the game state's navigation component.

No editor-visible members; this asset configures defaults only.

Widgets

WBP_Navigation2 members
extends WBP_Base

Full navigation panel used by the kiosk: logo, a vertical pagination menu and a switcher that builds a page of level cards for the selected group, plus a Lobby button that asks for confirmation before travelling. Takes its groups from the navigation component on the game state. Set it as the widget class of a widget component to reproduce the kiosk.

KindNameSignatureDescription
eventWidgetElement_PostInitiateStyle()Called once the whole widget tree has been initiated and themed. Empty here; the first page of levels appears instead because the pagination menu selects automatically, which raises On Button Selection Changed as soon as the tree is built.
eventOnButtonClicked_Confirm(Confirm: bool)Called by the confirmation overlay the Lobby button opened, carrying the reader's answer. Asks the navigation component on the game state to switch to its Lobby level when the answer is yes, and does nothing at all when it is no.
WBP_Navigation_Menu1 members
extends WBP_Base

Compact form of the navigation panel, sized 1000 by 1000 for a menu rather than a wall: a horizontal pagination row above a scrolling switcher of level pages, fed by the same navigation component. Nothing in the corpus uses it; it is here to be dropped into a menu of your own where the kiosk panel would be too large.

KindNameSignatureDescription
eventWidgetElement_PostInitiateStyle()Called once the whole widget tree has been initiated and themed. Empty here; the first page of levels appears because the horizontal pagination row selects automatically, which raises On Button Selection Changed once the tree is built.
WBP_Navigation_Page2 members
extends WBP_Base

One page of level cards. Initiate With Levels fills a vertical button group with a card per level data asset, taking the name and square image from each, and clicking one spawns a confirmation overlay before the switch happens. Built by the navigation panels rather than placed yourself.

KindNameSignatureDescription
eventInitiateWithLevels(Levels: PDA_Level_Showroom[])Fills the page with one card button per level, taking the name and the 500 by 500 square image from each data asset, and keeps the array so a click can be traced back to a level. Called by the navigation panel that spawned the page; calling it a second time appends another set of cards rather than replacing the first.
eventOnButtonClicked_Confirm(Confirm: bool)Called by the confirmation overlay a level card opened, carrying the reader's answer. Asks the navigation component on the game state to switch to the level at the remembered index when the answer is yes; a no leaves the page as it was.