SusLobbyScreenContent

Hub / lobby shell — back, title chip, tabs, empty alert, child-view host, Ready + Vs AI footer actions.
Package
SusGame · Screens (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
Title | Prop<string> | "Hub" | |
EmptyText | Prop<string> | "No data" | |
CanAct | Prop<bool> | false | |
HasData | Prop<bool> | false | |
ActionLabel | Prop<string> | "Ready" | |
SoloActionLabel | Prop<string> | "Vs AI" |
Slots
No slots.
Events
No public events.
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sc-lobby-footersc-lobby-headersus-lobby-screensus-lobby-screen__back-btnsus-lobby-screen__child-viewsus-lobby-screen__contentsus-lobby-screen__empty-textsus-lobby-screen__rowsus-lobby-screen__row-iconsus-lobby-screen__row-labelsus-lobby-screen__row-valuesus-lobby-screen__rowssus-lobby-screen__solo-action-btnsus-lobby-screen__tabssus-lobby-screen__titlesus-lobby-screen--limbo
Usage
Bind chrome props; fill Tabs / ChildViewHost from host or child views. Gate footer with CanAct.
xml
<template>
<sus:SusLobbyScreenContent
:Title="Title.Value"
:EmptyText="Empty.Value"
:CanAct="Ready.Value"
:ActionLabel="Act.Value"
:SoloActionLabel="Solo.Value"
/>
</template>
<script>
public Prop<string> Title = new("Hub");
public Prop<string> Empty = new("No data");
public Prop<bool> Ready = new(false);
public Prop<string> Act = new("Ready");
public Prop<string> Solo = new("Vs AI");
</script>csharp
var lobby = new SusLobbyScreenContent();
lobby.Title.Value = "Multiplayer";
lobby.EmptyText.Value = "No parties";
lobby.CanAct.Value = true;
lobby.ActionLabel.Value = "Ready";
lobby.SoloActionLabel.Value = "Vs AI";
// After mount:
lobby.Tabs.Items.Value = new List<SusTabs.TabItem> {
new() { Title = "Parties", Value = "parties" },
new() { Title = "Friends", Value = "friends" },
};
lobby.ChildViewHost.Add(myListView);
lobby.BackBtn.OnClick += () => { /* back */ };
lobby.ActionBtn.OnClick += () => { /* ready */ };
lobby.SoloActionBtn.OnClick += () => { /* vs AI */ };| Prop / API | Role |
|---|---|
Title | Header chip label |
EmptyText | Empty alert; empty string → hidden |
CanAct | Enables/disables both footer buttons (Disabled = !CanAct) |
ActionLabel / SoloActionLabel | Ready / Vs AI labels |
HasData | Declared Prop<bool> — not wired to UI in current pin |
BackBtn / Tabs / EmptyAlert / ActionBtn / SoloActionBtn | Host wiring |
ChildViewHost | Mount list/detail content here |
Notes
- USS modifiers
--limboexist on the root for transparent overlay hubs (add class from host). - Tabs start empty — host must set
Items/Model. HasDatais extracted in API but unused byWireProps; drive empty state viaEmptyText+ host visibility.