SusGameSessionScreenContent

Full-bleed match shell — mounts SusHudRoot via HUD preset, session chrome (turn/phase/hint/quit), optional result overlay.
Package
SusGame · Screens (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
TurnNumber | Prop<int> | 1 | |
TurnLabel | Prop<string> | "Turn 1" | |
Phase | Prop<string> | "deployment" | |
PhaseLabel | Prop<string> | "Deployment" | |
IsPlayerTurn | Prop<bool> | true | |
ActiveAction | Prop<string> | "" | |
ShowResult | Prop<bool> | false | |
ResultText | Prop<string> | "" | |
ActionHint | Prop<string> | "" | |
HudPresetId | Prop<string> | SusHudPresetRegistry.Tactical |
Slots
No slots.
Events
No public events.
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sc-gs-actionbarsc-gs-result-overlaysc-gs-topbarsus-flow-hintsus-flow-hint--flushsus-game-session-action-btnsus-game-session-screensus-game-session-screen__hintsus-game-session-screen__phase-labelsus-game-session-screen__quit-btnsus-game-session-screen__turn-labelsus-menu-button
Usage
Bind chrome props; change HudPresetId or call ApplyHudPreset to swap modules. Wire QuitBtn / ResultOkBtn from host.
xml
<template>
<sus:SusGameSessionScreenContent
:TurnNumber="Turn.Value"
:TurnLabel="TurnLbl.Value"
:Phase="PhaseId.Value"
:PhaseLabel="PhaseLbl.Value"
:ActionHint="Hint.Value"
:ShowResult="ShowEnd.Value"
:ResultText="Result.Value"
:HudPresetId="Preset.Value"
/>
</template>
<script>
public Prop<int> Turn = new(1);
public Prop<string> TurnLbl = new("Turn 1");
public Prop<string> PhaseId = new("deployment");
public Prop<string> PhaseLbl = new("Deployment");
public Prop<string> Hint = new("");
public Prop<bool> ShowEnd = new(false);
public Prop<string> Result = new("");
public Prop<string> Preset = new(SusHudPresetRegistry.Deployment);
</script>csharp
var session = new SusGameSessionScreenContent();
session.HudPresetId.Value = SusHudPresetRegistry.Tactical;
session.ApplyHudPreset(SusHudPresetRegistry.Tactical);
// After mount — AbilityBar / MinimapFrame / ObjectivePanel from HudMount
session.TurnNumber.Value = 3;
session.PhaseLabel.Value = "Action";
session.ActionHint.Value = "Select a unit";
session.ShowResult.Value = true;
session.ResultText.Value = "Victory";
session.QuitBtn.OnClick += () => { /* confirm quit */ };
session.ResultOkBtn.OnClick += () => { /* dismiss result */ };| Prop / API | Role |
|---|---|
TurnNumber / TurnLabel | Turn chip (TurnLabel wins if non-empty) |
Phase / PhaseLabel | Phase chip label |
ActionHint | Chrome hint alert; empty → hidden |
ShowResult / ResultText | Result overlay visibility + copy |
HudPresetId | Triggers ApplyHudPreset on change |
IsPlayerTurn / ActiveAction | Declared Prop<> — not wired to chrome UI in current pin |
HudRoot / HudMount | Root + last SusHudAssembler.Apply result |
AbilityBar / MinimapFrame / ObjectivePanel | Refs from mount (may be null by preset) |
QuitBtn / ResultOkBtn / ActionBar | Host wiring |
ApplyHudPreset(id) | Re-apply assembler + rebuild session chrome |
Notes
- Default preset =
SusHudPresetRegistry.Deployment. Empty id falls back toTactical. ApplyHudPresetseeds demo objectives (Deploy units/Complete the mission) on the mounted panel — replace from host for real missions.- Session chrome expects a
session-chromecustom host from the preset; otherwise mounts intoTL.